166A的PWM时钟源选择非常有限,只能是芯片时钟源的1,2,4,8分频,直接生成1S周期的PWM肯定不行。
不过1mS的定时中断也是有点太占用资源了,而且容易造成误差,如果定时器资源有富余的话,可以试试1个定时生成1ms周期的方波,去给另一个定时器计数,那么中断的周期就是固定的1mS的整数倍,不会产生累积误差,而且1S的周期内,只有2次中断产生,CPU资源的开销压力大大减轻,唯一的不足就是占用了2个定时器。不过谁让166A带了4个定时器呢,另外也可以用PWM产生1mS周期,也即1000Hz的方波,周期也未必一定是1mS,这样就只需要1个定时器了。
|