完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
|
相关推荐
13个回答
|
|
|
|
|
|
楼主,我是个新手也在调试905,可以请教你怎么测905发一帧数据的时间吗
|
|
|
|
您好! 能相互讨论下吗?我在用的时候发现了一个奇怪的现象,A发给B或B发给A都可以实现,但是A发给B,B收到后再发给A,A就收不到了,可以确定B确实发出去了,但A没有收到数据,地址和发送接收状态都没问题
|
|
|
|
不好意思 我不知道怎么测发一帧数据的时间 我也没测这个时间。 好像有个650us是转换模式需要的时间; |
|
|
|
@追风筝的人@ 发表于 2015-7-14 18:15 是不是程序的问题;A中的模式是否在发送后改为接收模式 |
|
|
|
不是这个原因,模式和地址都是正确的 while(1) { SetTxMode(); // Set Tx Mode TxPacket(); // Transmit Tx buffer data SetRxMode(); //=====================等待NRF905接收 if (DR) // If recive data ready... RxPacket(); // ... recive data if(RxBuf[0]==0x01) { RxBuf[0] =0; LED1 = 0 ; Delay(1000); // ...light led LED1 = 1 ; Delay(500); // ...light led } } |
|
|
|
发送后面加一个延时 或等待发送完在进入接收模式; 你是怎么看写入905命令的 能把命令读出来么? |
|
|
|
我试过加延时,不过还是没用,我当时查了一下,模式转换只需要650US就可以了,所以在模式转换的函数里我加了个延时函数 |
|
|
|
至于读命令这个我还没有试过,应该是可以读的,因为有读配置寄存器这个地址,不过一般都是写配置寄存器 |
|
|
|
在发送数据后加个延时,等待数据发送完后再改为接收模式;650us是模式转换时用的延时 |
|
|
|
恩恩我试试读配置寄存器,我的先好使了 后来又用时不知道那里出问题了正在调;快给我蛋疼死了 |
|
|
|
这种方式我也尝试过,不过无论延长多久结果都是接收不到,现在就是有点无语,程序又找不出啥毛病 |
|
|
|
完成一次传输后再把模块初始化重新开始 你试试这种笨方法
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2105 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1941 浏览 3 评论
4537 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
2084 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2599 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 08:15 , Processed in 0.732953 second(s), Total 65, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号