Timer 输出比较匹配不';不会发生-AVR Atmega32

Timer 输出比较匹配不';不会发生-AVR Atmega32,timer,embedded,system,avr,atmega32,Timer,Embedded,System,Avr,Atmega32,我试着数一数我在一个按钮(CONU)上的点击次数,并在4个LED上模拟它 它必须一直计数到9,然后TCNT0等于OCR0,所以中断被触发,TCNT0再次变为零,依此类推。但它在9之后一直持续到255。 未设置输出比较匹配标志。(未发生比较匹配) 最好避免“神奇数字”: 要设置CTC,位6 WGM00应为0,位3 WGMM01应为1(参见第80页的表38) 两位都设置为1,因此计数器在快速PWM模式下工作 使用具有位名称的宏: TCCR0 = (1 << WGM01) | (1 <

我试着数一数我在一个按钮(CONU)上的点击次数,并在4个LED上模拟它 它必须一直计数到9,然后TCNT0等于OCR0,所以中断被触发,TCNT0再次变为零,依此类推。但它在9之后一直持续到255。 未设置输出比较匹配标志。(未发生比较匹配)

最好避免“神奇数字”:

要设置CTC,位6 WGM00应为0,位3 WGMM01应为1(参见第80页的表38)

两位都设置为1,因此计数器在快速PWM模式下工作

使用具有位名称的宏:

TCCR0 = (1 << WGM01) | (1 << CS02) | (1 << CS01); // = 0x0E
TCCR0=(1
TCCR0 = 0x4E;     //Counter mode(falling edge),CTC mode .
TCCR0 = (1 << WGM01) | (1 << CS02) | (1 << CS01); // = 0x0E