MSP430中断和睡眠的两个奇怪问题

2019-08-02 16:28发布

1。P1口中断。
 
    我的板子上引出了P1.1~P1.4等多个外接IO,均上拉,用于外部中断输入。我只打开其中某个IO中断(比如P1.1),其他端口
 
禁止中断,但是外部向P1.1发生中断时,其他端口(P1.2~P1.3)中断标志位有时候居然也会被置位,非常奇怪!
 
 
2。LPM3唤醒。
 
   我的程序主循环使用低功耗LPM3方式:
 
    for(;;)                            
    {      
        // Stop WDT
        WDTCTL = WDTPW + WDTHOLD;  
              
        // Enter LPM3 w/interrupt 
        _BIS_SR(LPM3_bits + GIE);   
        
        // Start WDT
        WDTCTL = WDT_ARST_1000;  
      
        //SysLoopTask
        do_SysLoopTask();       
        
    }//for 
 
    并且程序中使用了1秒定时器。在外接Jtag下载器时,程序运行一切正常,每隔1秒从睡眠中醒来,并且也能够响应外部IO中断;
 
但是,如果去掉下载器让板子单独运行,程序就睡眠而不被外部中断或者内部的定时器唤醒。
 
   求助各位达人!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
2_1_I_C
1楼-- · 2019-08-02 18:41
   for(;;)                            
    {      
          // Start WDT_timer
         WDTCTL = WDT_ARST_1000;  
              
        // Enter LPM3 w/interrupt 
        _BIS_SR(LPM3_bits + GIE);   
        
      
        //SysLoopTask
        do_SysLoopTask();       
        
    }//for 
zhj903
2楼-- · 2019-08-02 19:59
 精彩回答 2  元偷偷看……
TI_CPIC
3楼-- · 2019-08-02 20:40
1.请说明器件具体型号和器件Logo 上的版本号REV。
 
2.检查复位是否正常,可以添加点亮LED灯的程序判断复位是否正常和程序是否运行。
mac001
4楼-- · 2019-08-03 01:43
好像在调试状态得出的中断寄存器值会不对,还是应该以实际电路工作状态为准
Again_gyf
5楼-- · 2019-08-03 07:30
什么型号啦?IO复用看下!
建议多看看TI的手册和范例!430很简单!
光合作用118
6楼-- · 2019-08-03 09:07
你的msp430P1口中断问题解决了吗?是怎么回事?我也遇到这个问题了

一周热门 更多>