#include <iom8v.h>
#include <macros.h>
extern unsigned char flag=0;
#pragma interrupt_handler int0_serve:2
int0_serve(void)
{
CLI();
flag=flag+1;
putchar0(flag);
if(flag==0x09) flag=0;
SEI();
}
int main(void)
{
CLI();
uart0_init();
int0_init_H_to_L_edge();
SEI();
putchar0(flag);
putchar0(0x55);
while(flag==0x02)
{
putchar0(0xaa);
}
}
一上电串口会输出00和55,外中断是下降沿触发,按一次按键触发一次外中断,flag加1,当flag=0x02时,串口应该输出0xaa,但是没有,为什么?用的是ICCAVR V7.22编的。请指教,多谢。 |