3.7 PWM呼吸灯实验

本节使用PWM输出做一个呼吸灯。
首先创建呼吸灯任务:

PWM模式我们配置为独立输出模式

在任务中我们改变占空比来调节亮度,做到呼吸灯效果。

static void breathing_lamp_task(void *sdata)
{
u16 duty = DUTY_MIN;
u8 reverse = 0;

pwm_demo_start(2, 100, duty, 4, 0);

while (1)
{
    if (reverse)
    {
        duty--;
        if (duty < DUTY_MIN)
        {
            reverse = 0;
            duty = DUTY_MIN;
        }
    }
    else
    {
        duty++;
        if (duty > DUTY_MAX)
        {
            reverse = 1;
            duty = DUTY_MAX;
        }
    }


   tls_pwm_duty_set(2, duty);

    tls_os_time_delay(3);
}

}
编译下载程序到开发板,可以看到开发板红灯逐渐点亮,逐渐熄灭的呼吸灯效果。

原文地址:https://www.cnblogs.com/doiting/p/14108966.html