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

相关推荐
E***U9456 小时前
C在物联网中的.NET Core
物联网·.netcore
NEU-UUN6 小时前
5.1.STM32-EXTI外部中断——全程手敲板书
stm32·单片机·嵌入式硬件
TangDuoduo00057 小时前
【常见传感器原理及应用】
单片机·嵌入式硬件
b***46247 小时前
IoT DC3 是一个基于 Spring Cloud 的开源的、分布式的物联网(IoT)平台本地部署步骤
物联网·spring cloud·开源
逻极10 小时前
边缘计算实战:物联网实时数据处理延迟降低65%的架构演进
物联网·边缘计算·实时数据处理·ai推理
Just_Paranoid15 小时前
【MQTT】基于 Android 设备接入物联网平台最佳实践
android·mqtt·eclipse·iot·paho·mqtt.fx
薛慕昭16 小时前
嵌入式 C 语言猜大小游戏设计与实现
c语言·游戏
月光技术杂谈17 小时前
实战:C驱动框架嵌入Rust模块的互操作机制与完整流程
c语言·开发语言·rust·ffi·跨语言·bindgen·互操作
q***064717 小时前
SocketTool、串口调试助手、MQTT中间件基础
单片机·嵌入式硬件·中间件
合作小小程序员小小店18 小时前
游戏开发,桌面%小游戏,贪吃蛇%demo,基于vs2022,c语言,easyX,无数据库
c语言·开发语言