2020-02-04 09:05发布
asj1989 发表于 2012-4-26 15:45 51没有专门的pwm。。。
梦的飞翔 发表于 2012-4-26 16:40 我知道,但是可以通过定时器来控制PWM脉冲宽度,改变定时器装的初值就行了,但问题是我不知怎么用定时器 ...
梦的飞翔 发表于 2012-4-26 15:12 这个我知道,我不会使用定时器来调节占空比,延时函数我会用,指导指导 ...
最多设置5个标签!
我知道,但是可以通过定时器来控制PWM脉冲宽度,改变定时器装的初值就行了,但问题是我不知怎么用定时器来控制,指导指导
比方说 产生20%的占空比,1k的频率。
先定时200us,然后中断来了再定时800us,下次中断再定时200us。。。。。。。,不就完了么。
控制电机搞个100Hz就好了,给个例子:
中断定100us,然后:
void led_change(void)
{
time_change++;
if(time_change>=99)
{
time_change=0;
led=1;
}
else
{
if(time_change>=time_change_vref)
{
led=0;
}
}
}
void led_mode(void)
{
time_led++;
if(time_led>=20)
{
time_led=0;
if(f_dec==1)
{
time_change_vref--;
if(time_change_vref<=0)
{
f_dec=0;
}
}
else
{
time_change_vref++;
if(time_change_vref>=100)
{
f_dec=1;
}
}
}
}
这是LED渐明渐暗的,马达和这一样一样的
一周热门 更多>