基于FreeRTOS的STM32四軸飛行器: 四.LED控制
- 一.配置Com層
- 二.編寫驅動
一.配置Com層
先在Com_Config.h中定義燈位置的枚舉類型:
之后定義Led的結構體:
定義飛行器狀態:
在Com_Config.c中初始化四個燈:
在Com_Config.h外部聲明,其他文件#include可以使用四個燈:
定義飛控板狀態:
在Com_Config.h外部聲明:
二.編寫驅動
之后在Inf_LED編寫驅動:
該函數實現LED燈常量、常滅、翻轉的功能。
先傳入結構體指針,判斷如果小于等于1置LED燈為常量或常滅。
如果大于1則翻轉對應led:
創建LED任務:
翻轉一次50ms,優先級設置低一些為2。
實現LED任務:
先判斷定高再解鎖再連接,先判斷范圍小的可以避免多次嵌套。
之后根據模式給不同的status值。
如果status值小于等于1直接通過set賦值,或者cnt%status值通過set實現固定時間翻轉: