之前的调研让我认识到,RTOS可以简化我的多任务处理需求。
我在STM32CubeMX中配置项目,启用了FreeRTOS的支持。
界面友好,能够直观地设置任务优先级和堆栈大小。
创建几个主要任务:一个用于传感器数据采集,一个用于处理用户输入,另一个用于无线通信。
模块化的设计
使用xTaskCreate()函数创建任务时,优先级的设定排第一。
选择较高的优先级给传感器数据采集任务,因实时数据很重要。
为用户输入任务设定中等优先级,无线通信任务设置为较低优先级。
编写完任务后,就实现了任务间通信。
通过使用消息队列,传感器任务可以将数据发送给处理任务。
这种设计可以让任务之间的协作变得简单。
|