摘要:利用CubeMx配置freeeRTOS建立任务并使用事件组实现按键按下时 LED开关和打印信息到串口,上位机接收显示。
验证STM32CubeMx配置的FreeRTOS的任务和事件组使用
 方案:按下Key1,绿灯亮或者灭,同时串口打印Key1被按下了到上位机;相关端口和串口配置省略。
 新建三个任务:
 1》    按键扫描 KeyScan;
 2》    灯开关 LEDToggle;
 3》    串口打印 PrintTask
  

 添加事件组:
  

 然后代码生成即可。
 代码生成后,任务和事件组的定义均生成在freeRTOS.c的代码中,串口代码在Usart.c,按键和LED灯的配置在GPIO.c中。
 根据要实现的功能补充相关代码:LED灯的toggle, 串口使用Printf输出,此类代码可以从开发板自带的实验代码中获取,在此不做陈述。
 关键代码如下:
 1.    按键扫描任务的代码: