完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
两块无线模块板子,单独发送一串字符串的时候,主从收发正常。都是0通道,也开启了自动应答。定义字节32,字符串长度小于32。程序参考发烧友的。
但是主模块 发送 传感器采集的浮点型数据(并已经转换为字符串后,方法是先转换成整数,再一位一位存到数组里)时,就不成功了。主模块成功发了两次正确的数据后,停在while(NRF24L01_IRQ!=0); 从模块也没收到。不清楚这种情况和单独发字符串的区别在哪,是不是我浮点数据(我定义为5个字节)转换为字符串 方法不得当,还是传感器程序中的一些延时什么的,会对无线模块程序执行有什么影响。求各位大爷赐教 。 |
|
相关推荐
3个回答
|
|
我把主程序贴上,大家看看
int main(void) { u32 i=0; float temp0; u8 tbuf1[4]; u16 temp1; RCC_Configuration(); I2c1_Configuration(); Uart_Configuration(); NVIC_Configuration(); Delay(0xFFFFF); NRF24L01_Init(); LED_Init(); Delay_init(); while(NRF24L01_Check())// { printf("nRF24L01检测出错 nr"); delay_ms(100); } NRF24L01_TX_Mode(); printf("NRF24L01 TX_Mode nr"); while(1) { s_connectionreset();// delay_ms(500); temp0 = Get_SHT11();//温湿传感器数据。浮点型。 temp1=temp0*10; tbuf1[0]=temp1/100+0x30; tbuf1[1]=temp1%100/10+0x30; tbuf1[2]='.'; tbuf1[3]=temp1%10+0x30; // tbuf1[4]=temp1%10+0x30; if(NRF24L01_TxPacket(tbuf1)==TX_OK) { printf("Send data is: %srn",tbuf1); LED=!LED; //NRF24L01_Write_Reg(WRITE_REG_NRF+CONFIG,0x00); //Power Down } else { printf("nr请确认接收端是否正常"); } delay_ms(500); } } |
|
|
|
不好意思,主机发送的问题解决了,是自己犯二了,在主程序中加了NRF24L01_Write_Reg(WRITE_REG_NRF+CONFIG,0x00); //Power Down
刚开始的时候我没有注释掉这句,同时也没加上上电语句,所以,掉电后就醒不来了。 现在的问题,主机可以一直发,从机收不到。从机状态REG里的值是,0X0E。 |
|
|
|
再次不好意思,问题解决,是自己刚测试时,把通道应答给关了。
|
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2557 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2344 浏览 5 评论
3176 浏览 3 评论
2819 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2774 浏览 4 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
632浏览 1评论
878浏览 0评论
992浏览 0评论
642浏览 0评论
470浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-2 19:44 , Processed in 1.366497 second(s), Total 82, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号