[项目]基于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实现固定时间翻转:

相关推荐
晓蛋1 天前
c语言指的是什么意思
c语言·编译器·编程开发·集成开发环境·程序实例
不悔哥1 天前
开源OV-Watch:怎么做一个智能手表
单片机·开源·嵌入式
傲世仙尊1 天前
目录即文件-Ext文件系统收尾篇
linux·c语言
XiHongShi20161 天前
STM32F407 RTC定时器例程,建议保存
stm32·单片机·学习
调试优选官1 天前
IoT物联网系统定制落地实践:从设备接入、协议网关、平台分层到业务应用,如何做技术选型、交付验收、责任边界与长期运维成本评估及迁移安排
物联网·iot·成本分析
牵猫散步的鱼儿1 天前
重载、重写(覆盖)、重定义区别
c语言
phltxy1 天前
C 语言指针:从内存地址到灵活的数据访问
c语言
优信电子1 天前
AIT1001 非接触式红外测温模块 STM32 驱动开发实战:从引脚到代码全解析
stm32·嵌入式·温度传感器·红外测温·非接触式测温·ait1001
phltxy1 天前
C 语言中的数据存储:从类型到二进制位
c语言
深圳老胡1 天前
STM32F407 控制 L6470 步进电机驱动 —— 控制过程简介
笔记·stm32·单片机·嵌入式硬件·代码规范