完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
好,还有发一个包和收一个包数据的代码,给大家帖出来.
//启动NRF24L01发送一次数据 //txbuf:待发送数据首地址 //返回值:发送完成状况 u8 NRF24L01_TxPacket(u8 *txbuf) { u8 sta; NRF24L01_CE=0; NRF24L01_Write_Buf(WR_TX_PLOAD,txbuf,TX_PLOAD_WIDTH);//写数据到TX BUF 32个字节 NRF24L01_CE=1;//启动发送 while(NRF24L01_IRQ!=0);//等待发送完成 sta=NRF24L01_Read_Reg(STATUS); //读取状态寄存器的值 NRF24L01_Write_Reg(WRITE_REG+STATUS,sta); //清除TX_DS或MAX_RT中断标志 if(sta&MAX_TX)//达到最大重发次数 { NRF24L01_Write_Reg(FLUSH_TX,0xff);//清除TX FIFO寄存器 return MAX_TX; } if(sta&TX_OK)//发送完成 { return TX_OK; } return 0xff;//其他原因发送失败 } 记住要记住有颜色的这几行. 然后是收一包数据. u8 NRF24L01_RxPacket(u8 *rxbuf) { u8 sta,sta1; sta=NRF24L01_Read_Reg(STATUS); //读取状态寄存器的值 NRF24L01_Write_Reg(WRITE_REG+STATUS,sta); //清除TX_DS或MAX_RT中断标志 Clear_line(18,0,30); sta1=NRF24L01_Read_Reg(STATUS); Bit_show(18,11,sta1); if(sta&RX_OK)//接收到数据 { NRF24L01_Read_Buf(RD_RX_PLOAD,rxbuf,RX_PLOAD_WIDTH);//读取数据 NRF24L01_Write_Reg(FLUSH_RX,0xff);//清除RX FIFO寄存器 return 0; } return 1;//没收到任何数据 } 看到没有,和发数据不同,这里不用 NRF24L01_CE=0和NRF24L01_CE=1. 如下几点在调试的时候总结出来的:
好了.大家如还发现什么都发到帖上去吧. 我丢上两个代码给大家试试.压缩的文件. TX_COM_NRF2401_TEXT.rar (634.36 KB ) RX_COM_NRF2401_TEXT.rar (635.46 KB ) |
|
相关推荐
24个回答
|
|
前两个月我在用NRF24L01做一个8K大的带路由功能的代码,后来有一个项目来了,中断刷钱钱去了。 上个月做完项目,刚想做回来的时候老婆大人逼我装修房子了,我家的中央空调是我自己设计的,还有太阳能电池发电的向日挂架,现在正在忙这个,两个月后吧,我会重新做这个。到时好了发个能试的代码给大家吧。 这个不难的,但要用点时间去调试。搞过ZIGBEE的话写这个不难的。我就是觉得ZIGBEE太大了,想做个简易的小小的,2元的芯片也装得进去。主要想用在我DIY的智能家居里。 |
|
|
|
如果接收了也加上那两句会不会有影响呢?
|
|
|
|
请问楼主,是不是可以设置接收端进入广播模式,发送端进行响应,这样就让这两个设备配对上了?有没有例程?
|
|
|
|
好东西,学习去了
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2316 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2059 浏览 5 评论
2750 浏览 3 评论
2518 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2457 浏览 4 评论
5641浏览 1评论
522浏览 0评论
524浏览 0评论
300浏览 0评论
128浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-3-29 03:05 , Processed in 1.344209 second(s), Total 81, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 深圳华秋电子有限公司
电子发烧友 (电路图) 粤公网安备 44030402000349 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号