通过 PWM 设备控制 LED 灯的亮度实现呼吸灯效果
更多...
通过 PWM 设备控制 LED 灯的亮度实现呼吸灯效果
源码
#include <rtthread.h>
#include <rtdevice.h>
#define LED_PIN_NUM 57
#define PWM_DEV_NAME "pwm3"
#define PWM_DEV_CHANNEL 4
static int pwm_led_sample(int argc, char *argv[])
{
period = 500000;
dir = 1;
pulse = 0;
{
rt_kprintf(
"pwm sample run failed! can't find %s device!\n", PWM_DEV_NAME);
}
rt_pwm_set(pwm_dev, PWM_DEV_CHANNEL, period, pulse);
while (1)
{
if (dir)
{
pulse += 5000;
}
else
{
pulse -= 5000;
}
if (pulse >= period)
{
dir = 0;
}
if (0 == pulse)
{
dir = 1;
}
rt_pwm_set(pwm_dev, PWM_DEV_CHANNEL, period, pulse);
}
}