FREERTOS由于其体积小,才不到10K,免费,现在已经位于嵌入式的RTOS的榜首。而ST又把其封装了一下:
Developing-Applications-on-STM32Cube-with-RTOS.pdf
(710.07 KB)
而用STM32CUBEMX,来配置FREERTOS就十分方便,本人任为,这就相当于自己移植FREERTOS的步骤给省了。
首先,点选PA9,PA10为USART1功能,我后使能USART1
然后使能FREERTOS
把晶体调到最大值。
然后就根据生成的代码,修改成自己的代码:
我的程序是建立两个任务,然后两个任务通过串口发信息。通过串口检验:
定义自己的任务:
/* definition and creation of defaultTask */
osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 128);
defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL);
osThreadDef(defaultTask2, StartDefaultTask2, osPriorityRealtime, 0, 128);
defaultTaskHandle = osThreadCreate(osThread(defaultTask2), NULL);
定义函数:
void StartDefaultTask(void const * argument)
{
/* USER CODE BEGIN 5 */
/* Infinite loop */
for(;;)
{
printf("this is first test running.......\r\n");
osDelay(1000);
}
/* USER CODE END 5 */
}
void StartDefaultTask2(void const * argument)
{
/* USER CODE BEGIN 5 */
/* Infinite loop */
for(;;)
{
printf("this is second test running!!!!!!\r\n");
osDelay(1000);
}
/* USER CODE END 5 */
}
最后运行的结果:
IAR工程打包:
Freertostest.rar
(10.75 MB)
|