STM32F4系列芯片。使用SPI1,然后控制DAC(PCM1792)。只有这一个从设备,直接把片选引脚拉低了。然后引脚的配置是没问题的,发送数据的时候,发现SPI1_DR一直显示为0,然后单步调试一直停留在下面红色的代码那句,意思应该就是从设备没有返回数据,求大神给点意见,可能的问题在哪儿,不甚感激!
PS:当把通信模式设置为单工TX模式时,发现数据可以写到SPI_DR里!
uint16_t SPI1_SendWord(uint16_t word){
/* Loop while DR register in not emplty */
while (SPI_I2S_GetFlagStatus(SP1, SPI_I2S_FLAG_TXE) == RESET);
/* Send byte through the SPI1 peripheral */
SPI_I2S_SendData(SPI1, word);
//while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE) == RESET);
/* Wait to receive a byte */
while(SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_RXNE) == RESET);
/* Return the byte read from the SPI bus */
return SPI_I2S_ReceiveData(SPI1);
}
|