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);
}
}
编译下载程序到开发板,可以看到开发板红灯逐渐点亮,逐渐熄灭的呼吸灯效果。