马老师,请问为什么我这样的设置进不了比较匹配中断呢?
/////红外接收完毕,关闭红外接收,开定时器,1S钟后再打开红外接收GICR&=0X7F; //关INT1
GIFR|=0X80;
DDRD|=0X08; //
OCR1A=19531; //5S匹配
TCNT1=0;
TCCR1A=0X00;
TCCR1B=0X0D; //OPEN INT1,1024分频
TIMSK|=0X10; //开比较匹配中断
TIFR|=0X10;
sei(); 我用的是M16 你没有设置T/C1的工作方式. 谢谢马老师!
WGM13到WGM10设置为CTC模式啊,不是这样吗? 帮你看了一下,T/C1设置正确,应该没问题的.
你先单独试一下T/C的CTC方式,在中断中控制一个LED,没有问题在合到系统中. TCCR1A设错了吧?
你设的是0x00,这样COM1A1,COM1A0,COM1B1和COM1B0都为0,
这样OC1A和OC1B都不能用了,
如果你要用比较匹配中断,
必须COM1A1(COM1B1)和COM1A0(COM1B0)中的其中一位为1。
我也是AVR初学者,以上是我的看法,关于对与否也得请有经验者做确认。
页:
[1]