21ic问答首页 - cs32g030用定时器做呼吸灯的延迟
cs32g030用定时器做呼吸灯的延迟
int main(void)
{
timer3_init();
pwm_config1();
uint16_t pwm_val =500;
uint8_t dir = 1;
while(1)
{
if(T1000ms_flag==1)//1000ms触发一次
{
T1000ms_flag=0;
pwm_val +=0;
pwm_duty_config(TM2,pwm_val);
if(pwm_val>=1000)
pwm_val=100;
}
}
}
pwm_val +=0; 灯可以亮,pwm_val +=10(或其他值)灯不亮;
{
timer3_init();
pwm_config1();
uint16_t pwm_val =500;
uint8_t dir = 1;
while(1)
{
if(T1000ms_flag==1)//1000ms触发一次
{
T1000ms_flag=0;
pwm_val +=0;
pwm_duty_config(TM2,pwm_val);
if(pwm_val>=1000)
pwm_val=100;
}
}
}
pwm_val +=0; 灯可以亮,pwm_val +=10(或其他值)灯不亮;
赞0
2. 检查你的PWM输出设置,是否初始化正确,给固定值看看占空比,确定 pwm_duty_config 里给相关的比较寄存器写入了正确的值。
评论
2025-03-17
赞0
{
}
是什么样的?
评论
2025-03-16
赞0
评论
2025-03-16
赞0
这样子能不能亮?pwm_val 换不同初始值试试
评论
2025-03-14
赞0
评论
2025-03-14
赞0
评论
2025-03-14
赞0
评论
2025-03-13
您需要登录后才可以回复 登录 | 注册