当前位置: 首页 > news >正文

[项目]基于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实现固定时间翻转:
在这里插入图片描述

相关文章:

  • vue基本功
  • Devart dbForge Studio for MySQL Enterprise 9.0.338高效数据库管理工具
  • 在线SQL转ArkTs
  • PTA 7-6 列出连通集
  • Terraform 中安全地更改 EC2 实例 instance_type 的指南
  • idea 复制代码时不带富文本背景色
  • 记录一个Circle CI出现的错误
  • 全员DeepSeek时代,前端能做些什么?
  • 捣鼓180天,我写了一个相册小程序
  • 快速从C过度C++(二):引用,内联函数,nullptr
  • 通过u-boot启动Linux时的根文件系统挂载流程(init进程可能会进行二次挂载)
  • 前端实现版本更新自动检测✅
  • Redis渐进式遍历数据库
  • Mybatis中的分页操作,如何使用PageHelper进行分页,以及Spring Boot整合Mybatis Plus分页
  • Flink深入浅出之02:编程模型、数据源、算子、connector
  • 单片机中的基础外设GPIO的知识和应用—(6)
  • 门面设计模式和适配器模式有什么区别
  • 接口测试之curl命令详解
  • 自注意力机制的演进-从Transformer架构到DeepSeek-R1模型的深度语义理解革新
  • 双足机器狗开发:Rider - Pi
  • 影视网站怎么做/下载百度极速版
  • 海淀区网站建设公司/巨量关键词搜索查询
  • wordpress开发ide/seo服务套餐
  • 广州知名网站建设公司/短视频询盘获客系统
  • 济南市建设委员会官方网站/市场营销的对象有哪些
  • jsp网站开发实例与发布/深圳竞价托管公司