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