NRF24L01 Команды сброса и чтения полезной нагрузки не работают
Я использую STM32F103 в качестве приемника.
Я читаю FIFO STATUS и регистр STATUS, затем выполняю команду FLUSH_RX через SPI.
Я постоянно читаю регистры FIFO_STATUS и STATUS. Прежде чем включить передатчик, все в порядке. Регистры говорят мне, что в RX FIFO нет данных. Как только я включаю устройство-передатчик, бит RX_DR в регистре STATUS устанавливается на высокий уровень, а регистр 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.
Любое руководство, помощь, комментарий будут оценены. Заранее спасибо.