定时器产生pwm控制一个很简单,但是一般单片机就三、四个定时器,如果舵机比较多,比如双足机器人,需要控制6个甚至8个以及更多的舵机,似乎显得不够了。
百度没找到个讲清楚的方法,现有一解决方案如下:
舵机扫描周期是20ms,而有效高电平最高仅有2.5ms,
可以将每个20ms周期分成若干2.5ms或者3ms的段,每段分配一个io口输出,
如此交叉输出多路pwm,理论一个定时器可以控制8路舵机。
定时器中断的程序务必精简,中断周期太短,程序过长容易出bug。
此方案已经过验证,可行。
写这些方便以后有人需要能百度到。