具体思路如下:
在一个定时器中断里面定义一个变量x,中断函数中,没中断一次x加1
然后:
interrupt
{
i++;
if(i>width)
{
PIO=~PIO;
}
if(i>max)
{
i=0;
PIO=~PIO;
}
}
{
i++;
if(i>width)
{
PIO=~PIO;
}
if(i>max)
{
i=0;
PIO=~PIO;
}
}
PIO为输出管脚
max决定频率
width决定脉宽
追问这样就可以了吗?
追答思路就是这样的。
你在主循环中,通过按键调节width的值,
这样就可实现脉宽调制。从而调节速度。