OpenEdv-开源电子网

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

NRF的TxBuf中的元素和RxBuf中的元素

[复制链接]

13

主题

126

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
399
金钱
399
注册时间
2016-5-25
在线时间
101 小时
发表于 2016-7-29 16:45:05 | 显示全部楼层 |阅读模式
3金钱
两个NRF2401,发送方的TxBuf数组:TxBuf[5] = {1,2,3,4,5};现在将该数组发送给接收的RxBuf[5]={0};问:接收到的数据存入RxBuf后,RxBuf是否是这样的:RxBuf[5] = {1,2,3,4,5}?
例如:        TxBuf[1] = 0x28;    可是我把接收的RxBuf[1]用串口打印出来,全是0呢?

最佳答案

查看完整内容[请看2#楼]

原子哥,丢在那里丢了一天了,今天一下子就找到问题了。 原来用int定义的数组,在发送函数里使用了强制类型转换:NRF24L01_TxPacket((uchar*)TxBuf); 后来把要发送的TxBuf数组改为unsigned char类型了,数据就正常了,可是接着又遇到一个问题了: uchar TxBuf[4] = {0x16,0x20,0,0x33}; 数组中的元素都不是0的话,全部能发送过去,可是在第一个为0后边的元素都发送不过去了~寻找解决办法ing
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

13

主题

126

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
399
金钱
399
注册时间
2016-5-25
在线时间
101 小时
 楼主| 发表于 2016-7-29 16:45:06 | 显示全部楼层
正点原子 发表于 2016-7-30 19:52
检查你的检验方法是否正确

原子哥,丢在那里丢了一天了,今天一下子就找到问题了。
原来用int定义的数组,在发送函数里使用了强制类型转换:NRF24L01_TxPacket((uchar*)TxBuf);   后来把要发送的TxBuf数组改为unsigned char类型了,数据就正常了,可是接着又遇到一个问题了:
    uchar TxBuf[4] = {0x16,0x20,0,0x33};   数组中的元素都不是0的话,全部能发送过去,可是在第一个为0后边的元素都发送不过去了~寻找解决办法ing
回复

使用道具 举报

5

主题

103

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
235
金钱
235
注册时间
2014-11-26
在线时间
25 小时
发表于 2016-7-29 16:47:20 | 显示全部楼层
说明你的两个NRF2401就没有通信上
回复

使用道具 举报

13

主题

126

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
399
金钱
399
注册时间
2016-5-25
在线时间
101 小时
 楼主| 发表于 2016-7-29 16:48:48 | 显示全部楼层
1376115749 发表于 2016-7-29 16:47
说明你的两个NRF2401就没有通信上

通信上了!肯定的,发送方也接收到应答了。我发现在RxBuf的数组中   其他的元素有0x28的值,找不到一点规律
回复

使用道具 举报

5

主题

103

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
235
金钱
235
注册时间
2014-11-26
在线时间
25 小时
发表于 2016-7-29 16:57:22 | 显示全部楼层
王轩 发表于 2016-7-29 16:48
通信上了!肯定的,发送方也接收到应答了。我发现在RxBuf的数组中   其他的元素有0x28的值,找不到一点规 ...

哦,那这个我也帮不了你了,2401的手册我也不是很熟悉
回复

使用道具 举报

13

主题

126

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
399
金钱
399
注册时间
2016-5-25
在线时间
101 小时
 楼主| 发表于 2016-7-29 16:59:05 | 显示全部楼层
1376115749 发表于 2016-7-29 16:57
哦,那这个我也帮不了你了,2401的手册我也不是很熟悉

好吧,谢谢咯。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2016-7-29 20:03:39 | 显示全部楼层
发什么,就收什么的。 可以参考我们例程。
回复

使用道具 举报

13

主题

126

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
399
金钱
399
注册时间
2016-5-25
在线时间
101 小时
 楼主| 发表于 2016-7-30 14:17:51 | 显示全部楼层
正点原子 发表于 2016-7-29 20:03
发什么,就收什么的。 可以参考我们例程。

对啊,我也这么认为,发过去一个什么样的数组,接收到的就是一个什么样的数组嘛。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2016-7-30 19:52:21 | 显示全部楼层
王轩 发表于 2016-7-30 14:17
对啊,我也这么认为,发过去一个什么样的数组,接收到的就是一个什么样的数组嘛。

检查你的检验方法是否正确
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

13

主题

126

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
399
金钱
399
注册时间
2016-5-25
在线时间
101 小时
 楼主| 发表于 2016-7-30 20:50:43 | 显示全部楼层
正点原子 发表于 2016-7-30 19:52
检查你的检验方法是否正确

问题已经解决了,不是NRF的问题,是我的发送字符串的函数问题~哈啊哈
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-8 22:50

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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