另外一个BUG:试图在一个下降沿CAP捕获 或 下降沿INT中断时,打开定时器T2(装载OCR2,清零TCNT2,启动T2,使之运行),使用比较匹配输出后方频率的方波:<br />#pragma interrupt_handler timer2_comp_isr:4<br />void timer2_comp_isr(void)<br />{<br /> static unsigned char i;<br /> TCNT2=0;<br /> //compare occured TCNT2=OCR2<br /> if(i==0)<br /> {<br /> i=1;<br /> PORTB|=0x02;<br /> }<br /> else<br /> {<br /> PORTB&=(~BIT(1));<br /> i=0;<br /> }<br />}<br />//BUG是:T2会莫名奇妙地溢出一次,才能正确地输出方波,<br />//这个现象在AVRstudio中不会出现,实际硬件也不会出现。<br />//图中粉红色波形为为了定位而在CAP或INT下降沿中断ISR<br />//中输出的一段脉冲
|