標(biāo)題: 為什么用F429調(diào)試進(jìn)入SPI_I2S_SendData和SPI_I2S_ReceiveData,keil軟件就直接崩潰了 [打印本頁]

作者: qwe2156349    時間: 2021-6-2 10:50
標(biāo)題: 為什么用F429調(diào)試進(jìn)入SPI_I2S_SendData和SPI_I2S_ReceiveData,keil軟件就直接崩潰了
為什么用F429調(diào)試進(jìn)入SPI_I2S_SendData和SPI_I2S_ReceiveData,keil軟件就直接崩潰了,板子是自己做的,用開發(fā)板沒有這個問題,有遇到過的大佬嗎?  uint8_t ICM42605_SendByte(uint8_t byte)
{         SPITimeout = SPIT_FLAG_TIMEOUT;         
/* 等待發(fā)送緩存區(qū)為空 */        
         while(SPI_I2S_GetFlagStatus(SPI4,SPI_I2S_FLAG_TXE ) == RESET)      
        {                if((SPITimeout--)==0) return SPI_TIMEOUT_UserCallback(0);                 }        
        SPI_I2S_SendData(SPI4,byte);               
       SPITimeout = SPIT_FLAG_TIMEOUT;        
/* 等待接收緩存區(qū)為空 */         
       while(SPI_I2S_GetFlagStatus(SPI4,SPI_I2S_FLAG_RXNE) == RESET)      
      {              if((SPITimeout--)==0) return SPI_TIMEOUT_UserCallback(1);                }      
   /* 讀取數(shù)據(jù)寄存器,獲取接收緩沖區(qū)數(shù)據(jù) */      
       return SPI_I2S_ReceiveData(SPI4);                }


作者: gracture    時間: 2021-6-2 11:46
程序跑飛了嗎。
作者: gracture    時間: 2021-6-2 11:48
程序跑飛了嗎,跑飛了,考慮溢出問題,具體可以查看數(shù)組的操作。
作者: qwe2156349    時間: 2021-6-2 17:36
gracture 發(fā)表于 2021-6-2 11:48
程序跑飛了嗎,跑飛了,考慮溢出問題,具體可以查看數(shù)組的操作。

調(diào)試剛進(jìn)入這里就崩潰了,這個庫函數(shù)自帶的函數(shù)
void SPI_I2S_SendData(SPI_TypeDef* SPIx, uint16_t Data)
{
  /* Check the parameters */
  assert_param(IS_SPI_ALL_PERIPH_EXT(SPIx));
  
  /* Write in the DR register the data to be sent */
  SPIx->DR = Data;
}

作者: yabiyff    時間: 2021-6-3 11:58
話說調(diào)試單步執(zhí)行的時候定時器時鐘是不是獨(dú)立的?




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1