萌新解析正点原子悟空大四轴无人机ATKflight固件(持续更新中~)

本博客用来记录学习ATKflight固件的学习过程,本人萌新,大佬们可以参考参考。
本文默认已经了解FreeRTOS操作系统并且会简单的使用方法,如果读者没了解过,建议先看正点原子的FreeRTOS教程视频学习一下,毕竟ATKflight固件使用了操作系统,个人感觉使用带操作系统的工程更加接近于实际生活,建议大家多多尝试。

第一部分

LED驱动代码

咱先从简单的开始,先看懂LED灯的驱动代码。

代码位置:…\悟空四轴飞行器光盘\悟空四轴飞行器光盘资料包\3. 程序源\ATKflight\Firmware_F405 V1.2\src\drivers

在keil5中的位置:
在这里插入图片描述
我们先看led.h这个头文件,看看有什么函数
在这里插入图片描述
可以看到有6个函数,我们逐一解析一下。

void ledInit(void);

在这里插入图片描述
这个函数很简单,只是初始化了控制LED灯的IO引脚。

void warningLedON(void);

在这里插入图片描述
这个函数里有枚举类型的变量,在上面可以看到其定义
在这里插入图片描述
从名字可以看出这个枚举变量是用来存储led灯的状态的,枚举成员解释如下:
WARNING_LED_OFF 熄灭状态
WARNING_LED_ON 点亮状态
WARNING_LED_FLASH 闪烁状态
了解完这个我们在看这个函数就可以知道它的作用是改变LED灯状态为熄灭。

void warningLedOFF(void);

在这里插入图片描述
和上一个函数差不多,作用为改变led灯状态为熄灭状态。

void warningLedFlash(void);

在这里插入图片描述
作用为改变led灯状态为熄灭状态;

void warningLedRefresh(void);

在这里插入图片描述
先看led.h里的宏定义
在这里插入图片描述
正点原子定义了三个宏分别用来控制led灯点亮,熄灭和闪烁。
所以我们可以 知道这个函数的作用是根据led灯的状态来控制led灯点亮,熄灭或者闪烁。

void warningLedUpdate(void);

在这里插入图片描述
这个函数的作用是500ms更新一次led灯的状态。

蜂鸣器驱动代码

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值