[项目]基于FreeRTOS的STM32四轴飞行器: 四.LED控制

基于FreeRTOS的STM32四轴飞行器: 四.LED控制

一.配置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实现固定时间翻转:

相关推荐
XINVRY-FPGA1 小时前
XCVU9P-2FLGA2104E Xilinx AMD Virtex UltraScale+ FPGA
人工智能·嵌入式硬件·fpga开发·硬件工程·dsp开发·射频工程·fpga
头发还没掉光光2 小时前
C++STL之list
c语言·数据结构·c++·list
10001hours3 小时前
(基于江协科技)51单片机入门:7.LED点阵屏
科技·嵌入式硬件·51单片机
10001hours4 小时前
(基于江协科技)51单片机入门:9.蜂鸣器
科技·嵌入式硬件·51单片机
transuperb5 小时前
51单片机红外遥控
单片机·嵌入式硬件
坚持编程的菜鸟6 小时前
LeetCode每日一题——交替合并字符串
c语言·算法·leetcode
xingke6 小时前
从C语言标准揭秘C指针:第 8 章:二维数组与指针:多维内存的访问逻辑
c语言·指针·c语言标准
迎風吹頭髮7 小时前
UNIX下C语言编程与实践22-UNIX 文件其他属性获取:stat 结构与 localtime 函数的使用
c语言·chrome·unix
迎風吹頭髮7 小时前
UNIX下C语言编程与实践21-UNIX 文件访问权限控制:st_mode 与权限宏的解析与应用
c语言·数据库·unix
Archie_IT9 小时前
嵌入式八股文篇——P1 关键字篇
c语言·开发语言·单片机·mcu·物联网·面试·职场和发展