完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
除了使用函数NRF24L01_Check()外,是否有其他方法可以确认NRF24L01是否损坏呢?
我手里有3个无线模块,检测结果竟然都是连接失败,实在不敢相信是三个模块都坏了,请问一下下面程序中难道有处理错误的地方么? 下面是检测连接是否成功的程序: [C] 纯文本查看 复制代码 u8 NRF24L01_Check(void){u8 buf[5]={0xA5,0xA5,0xA5,0xA5,0xA5};u8 i; SPI2_SetSpeed(SPI_BaudRatePrescaler_4); NRF24L01_Write_Buf(WRITE_REG_NRF+TX_ADDR ,buf,5);NRF24L01_Read_Buf(TX_ADDR,buf,5); for(i=0;i<5;i++){if(buf!=0xA5)break;}if(i!=5)return 1;//失败else return 0; //成功} 下面是在主函数中进行判断: [C] 纯文本查看 复制代码 while(NRF24L01_Check()){LED1_ADD=0; Delay_1us(5000);LED1_ADD=1;Delay_1us(5000);} 如果连接成功的话,LED灯应该是不亮的,但是三个无线模块在烧录程序后LED都不挺闪烁 单步运行发现,程序在for循环中只循环了一次就跳出循环了,即i=0,导致返回值一直都是1 [C] 纯文本查看 复制代码 for(i=0;i<5;i++){if(buf!=0xA5)break;} 请问到底是程序出错了么?其他部分的程序都是从NRF24L01的例程里面直接copy的 又或者是我的NRF坏了?除了这种运行程序的方法外,有什么其他办法确定是否模块坏了么? 谢谢! |
|
相关推荐
1个回答
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2543 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2331 浏览 5 评论
3155 浏览 3 评论
2801 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2759 浏览 4 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
607浏览 1评论
852浏览 0评论
965浏览 0评论
618浏览 0评论
445浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-21 21:38 , Processed in 0.938984 second(s), Total 47, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号