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发送和接收。

猜你喜欢

转载自blog.csdn.net/hpy518/article/details/82831790
今日推荐