你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32cubeMX快速配置FreeRTOS任务

[复制链接]
STMCU小助手 发布时间:2022-5-22 21:46
前言
本文带大家使用cubeMX快速配置FreeRTOS的任务。

一、cubeMX配置
1.选择FreeRTOS
~$[57C1MPECO6{TQYILLA@N.png

2.为FreeRTOS分配任务栈大小

5)LA(OK]N1JHF}K3IYEF5~X.png

这里内存可以设置大一点,内存不足会导致任务无法创建。

3.创建任务
点击Add添加一个任务

%_BH68D0RW{)7P{}NPXE0.png

1.Task Name:任务名字
2.priority:任务优先级
3.Stack size:任务堆栈大小(字节)
4.Entry Function:任务函数名字
其他几个参数我们设置为默认值就OK了

二、代码查看
1.创建任务

  1. //cubeMX帮我们自动生成的任务
  2. /* Create the thread(s) */
  3. /* definition and creation of defaultTask */
  4. osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 128);
  5. defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL);

  6. //我们自己创建的任务
  7. /* definition and creation of Task1 */
  8. osThreadDef(Task1, StartTask1, osPriorityNormal, 0, 128);
  9. Task1Handle = osThreadCreate(osThread(Task1), NULL);

  10. /* USER CODE BEGIN RTOS_THREADS */
  11. /* add threads, ... */
  12. /* USER CODE END RTOS_THREADS */

  13. /* Start scheduler */
  14. osKernelStart();//开启任务调度器
复制代码

2.任务函数
使用osDelay函数会释放资源使任务进入阻塞状态。

  1. /* USER CODE END Header_StartDefaultTask */
  2. void StartDefaultTask(void const * argument)
  3. {
  4.   /* USER CODE BEGIN 5 */
  5.   /* Infinite loop */
  6.   for(;;)
  7.   {

  8.   }
  9.   /* USER CODE END 5 */
  10. }

  11. /* USER CODE BEGIN Header_StartTask1 */
  12. /**
  13. * @brief Function implementing the Task1 thread.
  14. * @param argument: Not used
  15. * @retval None
  16. */
  17. /* USER CODE END Header_StartTask1 */
  18. void StartTask1(void const * argument)
  19. {
  20.   /* USER CODE BEGIN StartTask1 */
  21.   /* Infinite loop */
  22.   for(;;)
  23.   {
  24.     osDelay(1);
  25.   }
  26.   /* USER CODE END StartTask1 */
  27. }
复制代码

总结
使用cubeMX配置能大大减小我们代码的书写量。



收藏 评论0 发布时间:2022-5-22 21:46

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版