| 在网上了查了很多,不过似乎都是有问题没答案,所以就试试在这里问问了. atmega8+gcc,做个2ms的延时程序,程序如下:
 
 int KeyFlag=0;
 int KeyValue=0;
 SIGNAL(SIG_OVERFLOW0)
 {
 KeyFlag=1;
 KeyValue=0x01;
 }
 
 int main(void)
 {
 TCNT0 = 0x06;
 TCCR0 = 0x01;   // 系统时钟,不分拼
 TIMSK = 0x01;
 sei();
 
 while(!KeyFlag);  等待2ms到来
 // do something here
 }
 
 
 程序会停在 while(!KeyFlag)这里, 好象是没有中断造成. 但实际去跟踪调试时,发现程序能进中断, 这是怎么回事啊?
 |