韵湖葱白 发表于 2022-5-24 19:46

【平头哥RVB2601开发板试用体验】呼吸灯和红蓝告警灯


## 前言

测评小哥说我写的太简单了,实际上是被CDK坑怕了。

这篇完全可能是凑数的,不过倒是可以帮助下初学者。

# 呼吸灯

把呼吸灯的原理简单说一下。

灯的亮度实际上调的是占空比,所谓呼吸灯就是按照灭-逐步调亮-逐步调暗-灭这个周期来控制灯。

代码长这样:

(g_ctr_flag控制方向翻转,g_ctr控制占空比)

```
      if (g_ctr_flag)
                {
                        g_ctr--;
                }
                else
                {
                        g_ctr++;
                }
                if (g_ctr >= 15)
                {
                        g_ctr_flag = 1;
                }
                else if (g_ctr <= 0)
                {
                        g_ctr_flag = 0;
                }
                csi_pwm_out_config(&r, 2 / 2, 30, g_ctr, PWM_POLARITY_LOW);
                csi_pwm_out_start(&r, 2 / 2);
```


# 红蓝告警灯

周期性的控制红蓝灯闪烁,这个比较简单。

```
      g_ctr++;
                if (g_ctr > 1) {
                                g_ctr = 0;
                }
                csi_pwm_out_stop(&r, 2 / 2);
                if (g_ctr == 0)
                {
                        csi_pwm_out_start(&r, 7 / 2);                       
                        csi_pwm_out_stop(&r, 4 / 2);

                }
                else
                {
                        csi_pwm_out_stop(&r, 7 / 2);
                        csi_pwm_out_start(&r, 4 / 2);
                }
```

led2015 发表于 2022-5-25 21:24

<p>还是很喜欢编程的感觉</p>
页: [1]
查看完整版本: 【平头哥RVB2601开发板试用体验】呼吸灯和红蓝告警灯