OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 14256|回复: 4

NRF24L01模块一次传输大于32字节的数据该怎么实现?

[复制链接]

4

主题

11

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2011-7-27
在线时间
0 小时
发表于 2011-7-28 09:29:22 | 显示全部楼层 |阅读模式
发射端和接收端各要做什么处理,,,<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if(NRF24L01_TxPacket(tmp_buf)==TX_OK)<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; //&nbsp; int a = *(tmp_buf+32);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; //&nbsp; printf("%d",a);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; NRF24L01_TxPacket( (tmp_buf+32) );<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; LCD_ShowString(60,170,"Sended DATA:");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LCD_ShowString(60,170,"Send Failed "); <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; LCD_Fill(0,188,240,218,WHITE);//清空上面的显示<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 发射端这样处理行吗,,,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 另外上面那条printf语句在串口调试下,不能打印出数据,这是怎么一回事,,,<br />
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165353
金钱
165353
注册时间
2010-12-1
在线时间
2108 小时
发表于 2011-7-28 09:35:17 | 显示全部楼层
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

4

主题

11

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2011-7-27
在线时间
0 小时
 楼主| 发表于 2011-7-28 09:47:56 | 显示全部楼层
嗯,这个思想我有,,,但是,我提问中的代码是分两次传输的,可是在接收端
<br>if(NRF24L01_RxPacket(tmp_buf)==0)//一旦接收到信息,则显示出来.
<br>{       
<br>        int&nbsp;i;
<br>        //int&nbsp;a;
<br>        NRF24L01_RxPacket(&nbsp;(tmp_buf+32)&nbsp;);
<br>        //a&nbsp;=&nbsp;*(tmp_buf+32);
<br>        //printf(&quot;%d&quot;,a);
<br>        for(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;32;&nbsp;i++&nbsp;)
<br>        {
<br>                user_hz[8]&nbsp;=&nbsp;tmp_buf;
<br>        }
<br>        for(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;32;&nbsp;i++&nbsp;)
<br>        {        //user_hz[9]&nbsp;=&nbsp;tmp_buf;
<br>                user_hz[9]&nbsp;=&nbsp;tmp_buf[i+32];
<br>        }
<br>        tmp_buf[64]=0;//加入字符串结束符
<br>        //OLED_ShowString(0,32,tmp_buf);
<br>        OLED_ShowFont22(10,32,4,1);&nbsp;
<br>}
<br>这样接受的话,只能收到33位到64位的内容,1到32位的被覆盖了
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165353
金钱
165353
注册时间
2010-12-1
在线时间
2108 小时
发表于 2011-7-28 19:23:49 | 显示全部楼层
你参考我那个无线传输实验的代码.
<br>我的是不停的发送ascii,比你的64个字节要长呢.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

21

主题

80

帖子

0

精华

高级会员

Rank: 4

积分
633
金钱
633
注册时间
2018-3-16
在线时间
105 小时
发表于 2019-4-12 15:12:52 | 显示全部楼层

请问怎么多次传输?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 21:29

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表