OpenEdv-开源电子网

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

NRF24L01 发送一个数(8位或者16位)

[复制链接]

25

主题

121

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
243
金钱
243
注册时间
2013-4-20
在线时间
0 小时
发表于 2013-8-19 21:58:04 | 显示全部楼层 |阅读模式
怎么配置NRF24L01 发送一个数(8位或者16位)?<br />
<div>u8 NRF24L01_TxPacket(char *txbuf)</div>
<div>{</div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span>u8 sta;</div>
<div>&nbsp;<span class="Apple-tab-span" style="white-space:pre;">        </span>SPIx_SetSpeed(SPI_SPEED_8);//spi速度为9Mhz(24L01的最大SPI时钟为10Mhz) &nbsp;&nbsp;</div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span>NRF24L01_CE=0;</div>
<div>&nbsp; NRF24L01_Write_Buf(WR_TX_PLOAD,txbuf,TX_PLOAD_WIDTH);//写数据到TX BUF &nbsp;32个字节</div>
<div>&nbsp;<span class="Apple-tab-span" style="white-space:pre;">        </span>NRF24L01_CE=1;//启动发送<span class="Apple-tab-span" style="white-space:pre;">        </span> &nbsp;&nbsp;</div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span>while(NRF24L01_IRQ!=0);//等待发送完成</div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span>sta=NRF24L01_Read_Reg(STATUS); &nbsp;//读取状态寄存器的值<span class="Apple-tab-span" style="white-space:pre;">        </span> &nbsp;&nbsp;</div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span>NRF24L01_Write_Reg(WRITE_REg+STATUS,sta); //清除TX_DS或MAX_RT中断标志</div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span>if(sta&amp;MAX_TX)//达到最大重发次数</div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span>{</div>
<div><span class="Apple-tab-span" style="white-space:pre;">                </span>NRF24L01_Write_Reg(FLUSH_TX,0xff);//清除TX FIFO寄存器&nbsp;</div>
<div><span class="Apple-tab-span" style="white-space:pre;">                </span>return MAX_TX;&nbsp;</div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span>}</div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span>if(sta&amp;TX_OK)//发送完成</div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span>{</div>
<div><span class="Apple-tab-span" style="white-space:pre;">                </span>return TX_OK;</div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span>}</div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span>return 0xff;//其他原因发送失败</div>
<div>}</div>
<div>这都是32位数据发的。。。怎么只发送一个字节或者16位的数?</div>
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

25

主题

87

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
216
金钱
216
注册时间
2013-1-12
在线时间
3 小时
发表于 2013-8-19 22:31:36 | 显示全部楼层
回复【楼主位】回首看那个曾经的我:
<br>---------------------------------
<br>好像是一次32字节,缓冲区满了才发送的
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2013-8-19 23:34:20 | 显示全部楼层
回复【2楼】海滨:
<br>---------------------------------
<br>可以设置缓冲区大小的,不一定要32字节。
<br>可以自己设计多少。
<br>不过建议楼主做一个协议,这样好处理一点。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

25

主题

121

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
243
金钱
243
注册时间
2013-4-20
在线时间
0 小时
 楼主| 发表于 2013-8-20 09:22:10 | 显示全部楼层
回复【3楼】正点原子:
<br>---------------------------------
<br>不能直接读取一个字节?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

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

使用道具 举报

25

主题

121

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
243
金钱
243
注册时间
2013-4-20
在线时间
0 小时
 楼主| 发表于 2013-8-20 19:03:29 | 显示全部楼层
回复【5楼】正点原子:
<br>---------------------------------
<br>但是传送数据的时候我想要的不是字符串型,这样处理数据方便,就不需要额外的去将字符串转换成整数型了,,,可以减少CPU工作负荷。。。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2013-8-20 22:55:56 | 显示全部楼层
回复【6楼】回首看那个曾经的我:
<br>---------------------------------
<br>这个发送数字也可以啊。随你自己定义啊。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

25

主题

121

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
243
金钱
243
注册时间
2013-4-20
在线时间
0 小时
 楼主| 发表于 2013-8-22 14:59:03 | 显示全部楼层
回复【7楼】正点原子:
<br>---------------------------------
<br>额。怎么定义?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2013-8-22 16:56:01 | 显示全部楼层
回复【8楼】回首看那个曾经的我:
<br>---------------------------------
<br>NRF24L01就是个传输数据的工具,单位是按多少多少字节,固定的包发送。
<br>比如你设定发送长度是32字节,那么一次就传输32字节过去。
<br>至于32字节你是写的字符串还是数字,NRF24L01完全不关心,所以你爱怎么传,怎么传。
<br>字符串只是由一些特殊的数字组成的,比如字符串"fuck"=102&nbsp;117&nbsp;099&nbsp;107&nbsp;,这四个数字组成的。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

25

主题

121

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
243
金钱
243
注册时间
2013-4-20
在线时间
0 小时
 楼主| 发表于 2013-8-27 16:29:17 | 显示全部楼层
回复【9楼】正点原子:
<br>---------------------------------
<br>对啊,所以收到了还要将fuck字符型转换成整形(sprintf),但是不想这样弄。想直接得到整形。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2013-8-27 17:44:28 | 显示全部楼层
回复【10楼】回首看那个曾经的我:
<br>---------------------------------
<br>那你就接着折腾了。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

25

主题

121

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
243
金钱
243
注册时间
2013-4-20
在线时间
0 小时
 楼主| 发表于 2013-8-27 18:08:46 | 显示全部楼层
回复【11楼】正点原子:
<br>---------------------------------
<br>额。。好吧。换成CC1100另一种无线模块了‘
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-23 19:11

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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