MSP430F149 連續重制問題

2019-07-20 15:11发布

問題是這樣的 我再沒開啟看門狗的狀態下,MCU一直重制,請問各位大大這會是哪些問題呢?溢位嗎?P.S. 我把有問題的副程式在while loop 他會讓我的MCU重制,但我把它放到其他地方去執行它又不會讓我MCU重制,而且還準確執行我要執行的動作。
P.S. 副程式
void IIC_MultipleBytes_Read(unsigned char SlaveAddr, unsigned char StartReg, unsigned char Length, unsigned char *RD_Buffer)
{
         //unsigned char Status=0;
         
         __disable_interrupt();

         IIC_start();                                         //Start
         IIC_write1byte(SlaveAddr|0x00);           //Devicemode Write
         
         if(IIC_ReadACK())                                //ACK
        {               
                  SDA_H;
                  IIC_write1byte(StartReg);         //Write Command
         }                    
         else
                  goto _error;
         if(IIC_ReadACK())                              //ACK
                  IIC_start();                                //Restart
         else
           goto _error;         
         IIC_write1byte(SlaveAddr|0x01);     //Device mode is Read
         
         if(IIC_ReadACK())
         {  
                   while(Length)
                   {
                     *RD_Buffer++ = IIC_read1byte();      //DataByte1
                     Length--;

                     if(Length==0) IIC_NoACK();       
                      else IIC_mack();                     //ACK
                   }
         }                
_error:
         IIC_stop();                         //Stop
         
         __enable_interrupt();
         

}


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。