虽然你的代码只有一点,但却很乱
UartBusy这个要在启动的时候先清除,不然就会一直卡在那不动了
你这个中断不需要设置什么的了,默认的就行
串口只会被打断而已,外部中断完成之后,中断控制权还是会交给串口的
不应该在,外部中断中发送串口
当你串口发送一半的时候,外部中断被触发,进入中断,又发送一次串口,你这觉得这很乱吗?
1,串口发送要在主程序中发送
2,外部中断触发之后,也就是按键按下,不是马上发送,而进入中断之后,设置一个标志位,表示按键按下了,这个标志要在串口发送完成之后再清除
不然的话,按键抖动,就会产生串口不断的发送数据比如这样
void Int0_isr() interrupt 0 //外部中断0
{
if(!P32) {
key_press=1; //按下按键
key_100ms=100;//可以用做一些延时之类的,比如这个是100mS,串口发送完成之后,100mS再次按键是无用的
}
IE0=0;
}
key_press在串口发送之后再清除,
|