1. 程式人生 > >STM32+NRF24L01 傳送端,傳送資料,返回0x10,即一直返回最大重發次數值。但接收端能接收到資料。

STM32+NRF24L01 傳送端,傳送資料,返回0x10,即一直返回最大重發次數值。但接收端能接收到資料。

現象:傳送端傳送資料,接收端能接收到。 但傳送端判斷為傳送失敗,檢視返回值為0X10。

即NRF24L01_TxPacket(tmp_buf)的值為0X10,TX_OK值為0X20,故雖然接收端能收到資料。但 傳送端顯示“傳送失敗”

  深入檢視“NRF24L01_TxPacket(tmp_buf)”函式。

printf顯示,state的值為0X1e,不是正常值0X2e。

原因:

1、當使用通道0時,傳送地址,和接收地址必須一樣。返回值才是0X20,正常。

當使用通道0時,將傳送地址和接收地址改一樣的。就能正常了。

傳送端

接收端

解決方案,改變為通道1傳送和接收。