使用STM32CudeMX配置FreeRTOS
本文最后更新于 2024年9月6日 下午
开发板NUCLEO-STM32H723ZG
开发环境Ubuntu+Clion+Cmake
安装中间件
首先配置基本的外设,配置过程与正常相同
在配置好基本的外设和引脚之后,点击“Middleweare and software pack”
我已经安装国freeRTOS了,直接点击freeRTOS,然后是用CMSIS_v2接口,这是ARM内核提供的接口
然后生成代码,我这里勾选生成为Cmkae工程,还勾选了生成单独的.c和.h文件
然后点击生成代码
修改Timeabase source SysTick
提示了一个警告,是需要下载STM32H7的软件包,直接下载即可
接着又是一个警告,意思是强烈建议使用“HAL timebase source 不要使用 Systick
我将SYS的Timeabase source SysTick 改成了 TIM1
创建第一个freeRTOS任务
验证工程是否可以正常编译
生成完代码后使用先编译一次,没有报错,只有一个警告不管他。
在主函数中添加代码
添加任务句柄
打开main.c,首先要在如框1所示位置添加任务句柄
1 |
|
添加两个任务
在图框框2的位置添加两个任务函数
1 |
|
在主函数中调用两个任务
在框框1所展示的区域内添加两个任务
1 |
|
这里要解释一下黄色区域的内容
这里都是关于任务调度的内容,所有的任务都需要在这三个函数前创建,并且当使用freeRTOS之后程序永远不会执行到红色横线那里。
烧录程序进行验证
烧录程序到开发板上,可以看到两个LED按照不同的频率交替闪烁
使用STM32CudeMX配置FreeRTOS
http://shishengmi.com/2024/06/12/2024/06/使用STM32CudeMX配置FreeRTOS/