基于FreeRTOS的STM32四轴飞行器LED控制详解

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

    作者:嵌入式T90S

    物联沃分享整理
    物联沃-IOTWORD物联网 » 基于FreeRTOS的STM32四轴飞行器LED控制详解

    发表回复