OpenEdv-开源电子网

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

关于利用NRF24L01实现单片机和STM32通信(战舰版)的问题

[复制链接]

20

主题

56

帖子

0

精华

初级会员

Rank: 2

积分
156
金钱
156
注册时间
2013-8-1
在线时间
0 小时
发表于 2013-10-7 13:58:30 | 显示全部楼层 |阅读模式
<span style="font-size:16px;">请问有哪个大神有这个方面的资料?我用51对51就能实现发送个接收,可是用51发,STM32收就不行了。不知道是什么问题。</span><br />
<span style="font-size:16px;">还有就是</span><br />
<span style="font-size:16px;">const u8 TX_ADDRESS[TX_ADR_WIDTH]={0x34,0x43,0x10,0x10,0x01};&nbsp;</span><div><span style="font-size:16px;">const u8 RX_ADDRESS[RX_ADR_WIDTH]={0x34,0x43,0x10,0x10,0x01};&nbsp;</span><br />
<span style="font-size:16px;">这两个地址是根据什么设置的?</span></div>
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2013-10-7 14:23:55 | 显示全部楼层
回复【楼主位】Carlos:
<br>---------------------------------
<br>51和stm32不行,估计是你设置的问题。
<br>const&nbsp;u8&nbsp;TX_ADDRESS[TX_ADR_WIDTH]={0x34,0x43,0x10,0x10,0x01};&nbsp;
<br>const&nbsp;u8&nbsp;RX_ADDRESS[RX_ADR_WIDTH]={0x34,0x43,0x10,0x10,0x01};&nbsp;
<br>
<br>这两个是发送地址,和接收地址,根据你自己的需要设置,发送和接收地址必须一致,才能互相通信。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

20

主题

56

帖子

0

精华

初级会员

Rank: 2

积分
156
金钱
156
注册时间
2013-8-1
在线时间
0 小时
 楼主| 发表于 2013-10-7 15:14:51 | 显示全部楼层
回复【2楼】正点原子:
<br>---------------------------------
<br>原子哥,我的设置的问题,能举个例子么?我都查了好几遍了。
<br>这两个地址是不是可以随便设的?只要发送和接收一样就可以了。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2013-10-7 19:59:55 | 显示全部楼层
回复【3楼】Carlos:
<br>---------------------------------
<br>实际例子论坛比较多人讨论过,你可以搜素下,看看别人的代码。
<br>地址是可以随便设置,单要求发送接收地址一致。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

20

主题

122

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
222
金钱
222
注册时间
2013-9-21
在线时间
0 小时
发表于 2013-10-7 20:42:04 | 显示全部楼层
正好这两天做了个用stm32发射,51单片机接收的小车,楼主可以看一下我的程序。

stm32发射51接收.rar

2.15 MB, 下载次数: 324

回复 支持 反对

使用道具 举报

20

主题

56

帖子

0

精华

初级会员

Rank: 2

积分
156
金钱
156
注册时间
2013-8-1
在线时间
0 小时
 楼主| 发表于 2013-10-7 20:43:54 | 显示全部楼层
回复【5楼】jikaishihuaidan:
<br>---------------------------------
<br>谢谢!!STM32发送,51能接收。但是51发送,STM32接收不了。伤啊。。
回复 支持 反对

使用道具 举报

75

主题

458

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1633
金钱
1633
注册时间
2012-8-28
在线时间
71 小时
发表于 2013-10-8 12:46:21 | 显示全部楼层
回复【楼主位】Carlos:
<br>---------------------------------
<br>去看下我写的帖子,你只要花15分钟就可以学会012345通道的使用了。
QQ750273008有好的资料记得发给我哦。。。
回复 支持 反对

使用道具 举报

8

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2013-10-8
在线时间
0 小时
发表于 2013-10-8 21:04:52 | 显示全部楼层
回复【5楼】jikaishihuaidan:
<br>---------------------------------
<br>请问下大神&nbsp;做过51发送的&nbsp;STM32接收的没&nbsp;我出现乱码&nbsp;求帮忙
回复 支持 反对

使用道具 举报

20

主题

56

帖子

0

精华

初级会员

Rank: 2

积分
156
金钱
156
注册时间
2013-8-1
在线时间
0 小时
 楼主| 发表于 2013-10-8 22:19:27 | 显示全部楼层
回复【8楼】随心执着:
<br>---------------------------------
<br>同问,如果有的话上传工程看看,我弄了好几天了。
回复 支持 反对

使用道具 举报

20

主题

122

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
222
金钱
222
注册时间
2013-9-21
在线时间
0 小时
发表于 2013-10-9 16:28:28 | 显示全部楼层
&nbsp; 我也是菜鸟,刚学不到一个月。下边是51发送stm32接收的程序。功能很简单,就是51重复发0x01,stm32收到后会点亮板子上的2个发光二极管。<br />
我认为最好不要用用串口printf函数去看收的的是什么值,应为串口助手不是很好使,打印出来的乱七八糟,至少我的是这样。<br />

stm32接收51发射.rar

2.15 MB, 下载次数: 533

回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2013-10-9 17:47:40 | 显示全部楼层
回复【10楼】jikaishihuaidan:
<br>---------------------------------
<br>printf很好使哦,你使用方法有问题吧??呵呵
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

20

主题

122

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
222
金钱
222
注册时间
2013-9-21
在线时间
0 小时
发表于 2013-10-9 18:58:02 | 显示全部楼层
回复【11楼】正点原子:
<br>---------------------------------
<br>原子哥,这是我写的51里:
<br>void&nbsp;init_tt0(void)
<br>{
<br>        EA=1;
<br>        ET0=1;
<br>        TMOD=0x00;
<br>        TH0=(65535-10000)/256;&nbsp;&nbsp;//要进行调整,PWM波的频率影响电机的工作
<br>        TL0=(65535-10000)%256;
<br>        TR0=1;
<br>       
<br>        SCON=0x50;
<br>        TMOD=0x20;
<br>        TCON=0x40;
<br>        TH1=0xfd;
<br>        TI=1;
<br>        TR1=1;               
<br>}
<br>void&nbsp;control(void)
<br>{
<br>        uchar&nbsp;flag;       
<br>&nbsp;        sta&nbsp;=&nbsp;SPI_Read(STATUS);        &nbsp;&nbsp;//&nbsp;读状态寄存器
<br>        if(RX_DR)                                &nbsp;&nbsp;//&nbsp;判断是否接受到数据
<br>        {
<br>                SPI_Read_Buf(RD_RX_PLOAD,&nbsp;RX_BUF,&nbsp;TX_PLOAD_WIDTH);&nbsp;&nbsp;//&nbsp;从RX&nbsp;FIFO读出数据
<br>                flag=RX_BUF[0];
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("收到数据:%d\r\n",flag);
<br>                SPI_RW_Reg(WRITE_REG&nbsp;+&nbsp;STATUS,&nbsp;sta);&nbsp;&nbsp;//&nbsp;清除RX_DS中断标志               
<br>        }
<br>}
<br>程序总是在printf里跑,不知道怎么回事.
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2013-10-9 21:10:42 | 显示全部楼层
回复【12楼】jikaishihuaidan:
<br>---------------------------------
<br>51的printf就不知道了,没怎么用过51.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

20

主题

122

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
222
金钱
222
注册时间
2013-9-21
在线时间
0 小时
发表于 2013-10-10 09:06:14 | 显示全部楼层
回复【13楼】正点原子:
<br>---------------------------------
<br>谢了,原子哥。
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-23 18:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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