记录无人机RBG灯的意思
2026/7/24 17:51:16 网站建设 项目流程

DEFINE_COLOUR_SEQUENCE是一个宏,用于生成一个32位整数。这个整数被划分成10个“帧”,每一帧占用3个位(bit),用来编码一个颜色值。

YELLOW就是一个预定义的颜色常量,它被定义为GREEN | RED的组合(因为黄色就是由红和绿混合而成的)。

把这行代码展开来看,它的含义是:

时间片 (Step)0123456789
颜色值YELLOWYELLOWBLACKBLACKYELLOWYELLOWBLACKBLACKBLACKBLACK
LED状态亮 (黄)亮 (黄)亮 (黄)亮 (黄)

💡 实际视觉效果

update()函数中,系统每隔100毫秒(AP_HAL::millis()/100)前进一个时间片。因此,上面的定义会产生如下视觉效果:

  1. 第0-200ms:黄色,亮起 (YELLOW, YELLOW)

  2. 第200-400ms:熄灭 (BLACK, BLACK)

  3. 第400-600ms:黄色,再次亮起 (YELLOW, YELLOW)

  4. 第600-1000ms:长时间熄灭 (BLACK, BLACK, BLACK, BLACK)

这样,人眼看到的模式就是“闪、灭、闪、长灭”,也就是我们所说的“双闪黄灯”,用来明确提示飞手“预检失败,请检查地面站”。

所以,这行代码就是闪黄灯模式的“乐谱”,而update()函数就是那个“演奏家”,按照这个乐谱指挥LED灯亮灭。如果你把其中的YELLOW改成RED,它就会变成双闪红灯。这种代码设计让你可以通过修改这个序列,轻松定制任何想要的闪烁模式。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询