AVR定时器编程:CTC模式与正常模式

Cas*_*per 2 comparison avr timer

当比较优势劣势CTC模式普通模式的AVR定时器编程,你觉得哪一个更好?为什么?你能为我解释一下吗?

谢谢你的帮助.

Unc*_*leO 5

在正常模式下,定时器触发中断处理程序.它们几乎可以执行您想要的任何功能,但它们可以在CPU上运行,从而防止其他任何功能同时运行.

在CTC模式下,您也可以触发中断,但也可以不使用中断并仍然切换输出引脚.以这种方式使用它,功能与CPU并行发生,不会中断任何操作.

PWM在后台运行,如CTC,但引脚输出的时序不同.它更适用于采用脉冲宽度调制作为输入的伺服系统.

如果您只想切换输出引脚,请使用CTC或PWM.如果您想要做更多,请使用正常模式(或CTC或PWM,具体取决于时序要求).

从手册:

建议不要使用输出比较在正常模式下生成波形,因为这会占用太多的CPU时间.

为了在CTC模式下生成波形输出,可以将OC1A输出设置为在每次比较匹配时切换其逻辑电平,方法是将比较输出模式位设置为切换模式(COM1A1:0 = 1).