毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 嵌入式 >> 正文

先清除SRCPND后清除EINTPEND也没有见到第二次中断 第2页

更新时间:2013-2-13:  来源:毕业论文
Uart到今天才算弄好,很是。
不过终于可以实验一下了,还是原来的代码,在Main()中初始化一下串口之后就可以用了,然后我的代码是这样的

static void __irq key_handler(void) {     Uart_Printf("\nkangear!\n");     /*判断是否是按键K2产生的中断*/      //    if(rINTPND==BIT_EINT8_23)  //    {          ClearPending(BIT_EINT8_23);         //if(rEINTPEND&(1<<11))          //{         //delay(1000);             rEINTPEND |= 1<< 11;             Disp_num(BIT_EINT8_23);             beep_run();                               //}          //    } }

进一次中断就可以打印一次这个,当我其它不变是,程序运行起来之后我吃惊地发现这按下键之后它居然一直进出中断,这是我以前不知道的。
然后我就想起来了,将其改为边沿触发,代码好下:
rEXTINT1 |= 0x2<<12;
然后我要的答案就出来了,如果正常顺序清理这个我按下键就只会打印一次信息。
如果我反顺清理中断标志位就会进中断两次(只是两次)。
这下我彻底明白了,你说的是对的。
不过最后对于用LED来判断我觉得不好判断。因为你显示的一瞬间就又进入了中断,就不会看清楚,通过做这个实验我蜂鸣器都不响了,因为这个时间太短了。

上一页  [1] [2] 

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©chuibin.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。