打印
[STM32F7]

STM32F769I-DISCO评测(7)STM32CUBE中的FREERTOS

[复制链接]
930|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ddllxxrr|  楼主 | 2016-12-22 21:24 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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)
沙发
mmuuss586| | 2016-12-22 21:54 | 只看该作者
不错,谢谢分享;

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:http://shop34182318.taobao.com/ http://shop562064536.taobao.com

2398

主题

6956

帖子

67

粉丝