任务描述
实现两个小灯的“同时“”闪烁。
(任务1:红灯一秒闪烁)
(任务2:绿灯一秒闪烁)
使用cube IDE快速生成freeRTOS项目。(本次使用的开发板:STM32F407系列)
首先轻车熟路的创建好我们的工程,不懂的小伙伴可以看我的那篇 HAL库开发之创建新工程。进入工程配置界面。
RCC选择高速外部时钟(HSE),选择外部晶振(8M)
选择时钟配置,外部晶振选择8M,点击HSE,配置HCLK为168(看下面最大值即可),配置完成点击回车,系统会自动分配方案。(注:使用的是同款开发板,此处配置可能需要再次配置168,第一次系统自动分配是84M,再次修改即可。造成这种现象原因我也不是很清楚,有知道的小伙伴请务必跟我说说,感谢!)
选中SYS,设置时基源为定时器。(不推荐使用系统滴答定时器)
配置小灯的GPIO为输出引脚(本次板子为PF9、PF10)
任务的创建按照下面的这个流程来即可,在本次这个实例中,重点的参数配置在于任务优先级保持一致。(也可以试一试,在不同优先级下,现象是什么)。任务名字和任务函数名称默认也可以,不过我觉得一个好的命名更容易让我们区分这个任务是做什么的,能提高阅读性。ctrl + s 保存即可生成代码。(跳出的方框直接点击YES即可)
编写任务代码,实现灯光闪烁。(在main.c中找到任务函数)
编译下载,即可看到灯光闪烁。