我使用STM32F103作为接收器。
我读取FIFO STATUS和STATUS寄存器,然后通过SPI执行FLUSH_RX命令。
我不断读取FIFO_STATUS和STATUS寄存器。在打开发射机之前,一切正常。寄存器告诉我,RX FIFO中没有数据。一旦我打开发送器设备,STATUS寄存器中的RX_DR位就被设置为高电平,并且FIFO_STATUS寄存器表明RX FIFO中有数据。尽管我执行了Flush命令,但没有任何反应。
FIFO_STATUS寄存器仍然显示FIFO中有数据。
void Flush_RX()
{
csn_low();
HAL_SPI_Transmit(&hspi1, (uint8_t *)COMD_FLUSH_RX,1, 150);
while( (HAL_SPI_GetState(&hspi1) != HAL_SPI_STATE_READY) ){}
csn_high();
HAL_Delay(1);
}
我在READ_RX_PAYLOAD命令中遇到了类似的问题。 当IRQ引脚变为低电平并且RX_DR位设置为高电平时,我执行该命令,但读取的是STATUS寄存器的内容。 我无法读取从TX发送的数据。
任何指导,帮助,评论将不胜感激。 预先感谢。