原创 中断不响应

2009-5-21 09:12 2681 4 6 分类: MCU/ 嵌入式

单片机中断函数中最好不要做数据或是发送等的处理,本人做的键盘中断函数原为:


void INT2_SVC2() interrupt 2


{


  EA = 0;


if(INT3 == 0x00)     <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


  {


     INT3 = 0x01;


  ZLG7290_ReadReg2(ZLG7290_Key,&KeyValue);      //读取键值


     DispValue2(0,(KeyValue+28));                      //向数码管写数据


sendKeynum(2,(KeyValue+28));                   //RS485发送本次键码


Delay(30);


} 


  EA = 1; 


}   


程序调通后,仿真器和片子上都运行过,后来按键不能识别.仿真器重新调试,设置断点,发现可以执行到中断内部程序行,只是硬件没有任何反应.改成:


void INT2_SVC2() interrupt 2


{


  EA = 0;


if(INT3 == 0x00)    


  {


FlagINT3 == 1=1;


} 


  EA = 1; 


}


 


在主程序中实现功能:


Void main()


{


  While(1)


{


  i if(FlagINT3 == 1)


   {


     FlagINT3 = 0;


     ZLG7290_ReadReg2(ZLG7290_Key,&KeyValue);      //读取键值


     DispValue2(0,(KeyValue+28));                      //向数码管写数据


     sendKeynum(2,(KeyValue+28));                    //发送本次键码


}


 }


}


 


此时可很好的实现各种功能.

PARTNER CONTENT

文章评论2条评论)

登录后参与讨论

dmu_xw 2009-6-24 22:36

匠人?还真没看过,要不也不会这出这些个问题啦,呵呵

用户162481 2009-5-21 12:13

匠人的书不知道你看过没有,上面有这方面的介绍,详细说明了中断中尽量设置标志即可。不要处理在主程序中处理。
相关推荐阅读
dmu_xw 2010-05-18 10:15
双重while中利用break跳出循环的问题
while(SlaveState ==0)         {<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:...
dmu_xw 2010-05-18 10:05
运算符和结合顺序问题
temp4 = (ReciveBuf[0]&0x80 == 0x80)&&(ReciveBuf[1]&0xe0 == 0xe0)&&(ReciveBuf...
dmu_xw 2010-05-12 10:18
while中利用break跳出循环
void Check_MACID() {           unsigned char data CheckCount = 0;       //MAC ID检查次数           unsig...
dmu_xw 2010-05-07 19:49
SJA1000中断的一点理解
SJA1000中断的一点理解SJA1000可提供中断方式和查询方式接收和发送数据。先说发送中断,若不做特殊要求不必利用发送中断,只要将数据写入发送缓冲区,启动发送命令就可以了,完全可以实现数据的发送,...
dmu_xw 2010-05-04 10:26
报警板调试记录
(1)发送数据函数,其中第15行为延时,不加时收到数据只为FE,加延时后才可收到7个数据.void sendKeynum(char mu,char n)               //向上位机发送连...
dmu_xw 2010-01-16 20:56
设备驱动加载到linux内核流程及两种加载方式
1.将设备驱动加载到linux内核中,第一步是配置Makefile文件,<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:of...
EE直播间
更多
我要评论
2
4
关闭 站长推荐上一条 /3 下一条