天线|RF射频
直播中

王红

7年用户 222经验值
私信 关注
[问答]

NRF24L01数据发送两次,程序就停在等待发送完成那句了怎么办?

工作分为两部分,一部分是采集4个传感器的数据(都测试成功),第二部分就是将传感器数据 通过无线模块发送到一从机。

开始测试过程是,单独让主无线模块发送一段字符串给从机,通信也完成正常。用的都是0通道,都开启了自动应答,程序参考的是发烧友的代码。

但是,将传感器返回的数据 发送给从机时,(因为传感器数据大多是浮点型,我是用先转换为整数,再以字符串的形式发送出去的。),就只能发两次,而且从机也没有收到。调试发现,主机的程序停在了,等待发送完成那句while(NRF24L01_IRQ!=0);

问题是,我单独发一串字符时,通信就是正常的,程序也不会死到那句。

请大神们看看分析下是哪方面的问题。

回帖(2)

何壮梦

2020-5-27 09:35:34
那你单独发送一串字符的时候,这个字符串是多长,超过32了吗?
举报

骆其节

2020-5-27 09:47:56
单独发送一串字符,定义的就是32字节,而且字符串是小于32的,通信是正常的。而发送传感器数据时,我先只发一个浮点型数据,定义的是5个字节,是可以发两次的,而且我测的发出数据是正确的,但是发完两次就停在  while(NRF24L01_IRQ!=0);了,而且从机没收到数据。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分