Documentos de Académico
Documentos de Profesional
Documentos de Cultura
operativo
en tiempo
real
(FReertos)
FreeRTOS
Sistema Operativo:
KERNEL:
FreeRTOS
FreeRTOS
Estados de hilo
Estados de hilo
Seleccionamos el
USART1 en modo
Asíncrono para
transmitir una cadena
de caracteres. GPIO_Output
EJEMPLO
FreeRTOS
GPIO_Output
EJEMPLO
FreeRTOS
GPIO_Output
EJEMPLO
FreeRTOS
EJEMPLO
FreeRTOS
En la configuración de
FreeRTOS, en la pestaña Tasks
and Queues, aparece una
tarea por defecto llamada
defautTask. Podemos incluir,
por medio del botón Add, mas
tareas, luego podemos
configurar el nombre de estas
tareas y sus funciones
asociadas a estas haciendo
doble click sobre la tarea que
deseamos modificar
EJEMPLO
FreeRTOS
FreeRTOS
FreeRTOS
Seleccionamos el
USART1 en modo
Asíncrono para
transmitir una cadena
de caracteres.
Configuramos las
opciones de la
comunicación USART1,
como la velocidad (la
que mas le conviene al
programador, en este
caso será de 9600
baudios), la longitud
del la palabra de bits,
etc.
EJEMPLO CONFIGURACION EN LA NUEVA VERSIÓN DE CUBEMX
FreeRTOS
FreeRTOS
En la configuración de
FreeRTOS, en la
pestaña Tasks and
Queues, aparece una
tarea por defecto
llamada defautTask.
Podemos incluir, por
medio del botón Add,
mas tareas, luego
podemos configurar el
nombre de estas tareas
y sus funciones
asociadas a estas
haciendo doble click
sobre la tarea que
deseamos modificar
EJEMPLO CONFIGURACION EN LA NUEVA VERSIÓN DE CUBEMX
FreeRTOS
FreeRTOS
FreeRTOS
Habilitamos el cristal
externo como
fuente de reloj
Externo.
EJEMPLO CONFIGURACION EN LA NUEVA VERSIÓN DE CUBEMX
FreeRTOS
EJEMPLO CONFIGURACION EN LA NUEVA VERSIÓN DE CUBEMX
FreeRTOS
Cuando se utiliza
FreeRTOS, se debe
utilizar otra base de
tiempo que no sea
la de la librería HAL.
Por tal motivo, en la
opción de SYS en
Timebase Source
seleccionamos TIM1
como el generador
de la base de
tiempo.
EJEMPLO
#include "main.h"
#include "stm32f1xx_hal.h"
#include "cmsis_os.h"
osThreadId primeraTareaHandle;
osThreadId segundaTareaHandle;
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_USART1_UART_Init(void);
Generamos el código base: void USART(void const * argument);
El CubeMx genera de forma void Blink(void const * argument);
while (1)
{
}
}
EJEMPLO
FreeRTOS