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
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 

一周热门 更多>