FreeROTS工程创建
详细步骤
如无特殊情况,大部人都要配置为外部高速时钟
另外,本实验使用了FreeRTOS,FreeRTOS的时基使用的是Systick,而 STM32CubeMX中默认的HAL库时基也是Systick,为了避免可能的冲突,最好将HAL库的时基换做其它的硬件定时器
切换成72MHZ主频,按下回车后点击确定
STM32CubeMX 已经将 FreeRTOS 集成到工具中,并且将 RTOS 的接口进行了封装 CMSIS-RTOS V1/V2,相较之于V1版本的CMSIS-RTOS API,V2版本的API的兼容性更高,为了将来的开发和移植,建议开发者使用V2版本的API
FreeRTOS 的参数包括时基频率、任务堆栈大小、是否使能互斥锁等等,需要开发者根
据自己对FreeRTOS的了解以及项目开发的需求,来定制参数。
使用STM32CubeMX时,有一个默认任务,此任务无法删除,只能修改其名称和函数类型,如上图所示
使用时的注意事项
双击打开freertos.c文件,找到StartDefaultTask函数里的循环。我们编写的代码,需要位于“USER CODE BEGIN xxx”和“USER CODE END xxx”之间,否则以后再次使用STM32CubeMX 配置工程时,不在这些位置的用户代码会被删除。