OpenEdv-开源电子网

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

NRF24L01的接收端接收不到数据,发射端一直是达到最大发送次数的中断,找不到接收端,求解啊

[复制链接]

5

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
108
金钱
108
注册时间
2012-5-21
在线时间
11 小时
发表于 2013-4-4 17:14:34 | 显示全部楼层 |阅读模式
<p>                                         
接收和发射额初始化代码如下: <br />
<br />
//该函数初始化NRF24L01到RX模式<br />
//设置RX地址,写RX数据宽度,选择RF频道,波特率和LNA HCURR<br />
//当CE变高后,即进入RX模式,并可以接收数据了                   <br />
void RX_Mode(void)<br />
{<br />
        Clr_NRF24L01_CE;          <br />
    //写RX节点地址<br />
          NRF24L01_Write_Buf(SPI_WRITE_REG+RX_ADDR_P0,(u8*)RX_ADDRESS,RX_ADR_WIDTH);<br />
<br />
    //使能通道0的自动应答    <br />
          NRF24L01_Write_Reg(SPI_WRITE_REG+EN_AA,0x01);    <br />
    //使能通道0的接收地址           <br />
          NRF24L01_Write_Reg(SPI_WRITE_REG+EN_RXADDR,0x01);<br />
    //设置RF通信频率                  <br />
          NRF24L01_Write_Reg(SPI_WRITE_REG+RF_CH,40);             <br />
    //选择通道0的有效数据宽度             <br />
          NRF24L01_Write_Reg(SPI_WRITE_REG+RX_PW_P0,RX_PLOAD_WIDTH);<br />
    //设置TX发射参数,0db增益,2Mbps,低噪声增益开启   <br />
          NRF24L01_Write_Reg(SPI_WRITE_REG+RF_SETUP,0x0f);<br />
    //配置基本工作模式的参数WR_UP,EN_CRC,16BIT_CRC,PRIM_RX接收模式 <br />
          NRF24L01_Write_Reg(SPI_WRITE_REG+CONFIG, 0x0f); <br />
    //CE为高,进入接收模式 <br />
          Set_NRF24L01_CE;                                <br />
}                        <br />
<br />
//该函数初始化NRF24L01到TX模式<br />
//设置TX地址,写TX数据宽度,设置RX自动应答的地址,填充TX发送数据,<br />
//选择RF频道,波特率和LNA HCURR PWR_UP,CRC使能<br />
//当CE变高后,即进入RX模式,并可以接收数据了                   <br />
//CE为高大于10us,则启动发送.         <br />
void TX_Mode(void)<br />
{                                                                                                                 <br />
        Clr_NRF24L01_CE;            <br />
    //写TX节点地址 <br />
          NRF24L01_Write_Buf(SPI_WRITE_REG+TX_ADDR,(u8*)TX_ADDRESS,TX_ADR_WIDTH);    <br />
    //设置TX节点地址,主要为了使能ACK          <br />
          NRF24L01_Write_Buf(SPI_WRITE_REG+RX_ADDR_P0,(u8*)RX_ADDRESS,RX_ADR_WIDTH); <br />
<br />
    //使能通道0的自动应答    <br />
          NRF24L01_Write_Reg(SPI_WRITE_REG+EN_AA,0x01);     <br />
    //使能通道0的接收地址  <br />
          NRF24L01_Write_Reg(SPI_WRITE_REG+EN_RXADDR,0x01); <br />
    //设置自动重发间隔时间:500us + 86us;最大自动重发次数:10次<br />
          NRF24L01_Write_Reg(SPI_WRITE_REG+SETUP_RETR,0x1a);<br />
    //设置RF通道为40<br />
          NRF24L01_Write_Reg(SPI_WRITE_REG+RF_CH,40);       <br />
    //设置TX发射参数,0db增益,2Mbps,低噪声增益开启   <br />
          NRF24L01_Write_Reg(SPI_WRITE_REG+RF_SETUP,0x0f);  <br />
    //配置基本工作模式的参数WR_UP,EN_CRC,16BIT_CRC,PRIM_RX发送模式,开启所有中断<br />
          NRF24L01_Write_Reg(SPI_WRITE_REG+CONFIG,0x0e);    <br />
    // CE为高,10us后启动发送<br />
        Set_NRF24L01_CE;                                  <br />
}         <br />
用的单片机是STM32F103VC,我已经弄了好多天了,没调出来,实在找不到原因</p>
这么大,还上班。。。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

558

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
164867
金钱
164867
注册时间
2010-12-1
在线时间
2099 小时
发表于 2014-4-20 23:17:35 | 显示全部楼层
回复【16楼】傻子:
<br>---------------------------------
<br>1,是的
<br>2,写数据。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 1 反对 0

使用道具 举报

558

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
164867
金钱
164867
注册时间
2010-12-1
在线时间
2099 小时
发表于 2013-4-4 18:57:58 | 显示全部楼层
底层驱动没问题吧?
<br>SPI操作NRF的寄存器什么的,先确保这个正常。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

5

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
108
金钱
108
注册时间
2012-5-21
在线时间
11 小时
 楼主| 发表于 2013-4-4 19:00:55 | 显示全部楼层
回复【2楼】正点原子:
<br>---------------------------------
<br>没问题,就是用了你的写和读5个数来查找的
这么大,还上班。。。
回复 支持 反对

使用道具 举报

558

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
164867
金钱
164867
注册时间
2010-12-1
在线时间
2099 小时
发表于 2013-4-4 19:07:36 | 显示全部楼层
那应该可以才对了,2个模块一起买的吧?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

5

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
108
金钱
108
注册时间
2012-5-21
在线时间
11 小时
 楼主| 发表于 2013-4-4 19:12:48 | 显示全部楼层
回复【4楼】正点原子:
<br>---------------------------------
<br>是的啊,我把TX_mode的寄存器写入的值都读出来在打印,
<br>nRF24L01连接成功&nbsp;
<br>
<br>TX_ADDR写入结果为{0x34,0x43,0x10,0x10,0x01},以下是打印匹配输出0x34&nbsp;0x43&nbsp;0x10&nbsp;0x10&nbsp;0x1&nbsp;
<br>
<br>RX_ADDR_P0写入结果为{0x34,0x43,0x10,0x10,0x01},以下是打印匹配输出0x34&nbsp;0x43&nbsp;0x10&nbsp;0x10&nbsp;0x1&nbsp;
<br>
<br>EN_AA写入结果为,0x01,以下是打印匹配输出0x1&nbsp;
<br>
<br>EN_RXADDR写入结果为,0x01,以下是打印匹配输出0x1&nbsp;
<br>
<br>SETUP_RETR写入结果为,0x1a,以下是打印匹配输出0x1&nbsp;
<br>
<br>RF_CH写入结果为,0x28,以下是打印匹配输出0x28&nbsp;
<br>
<br>RF_SETUP写入结果为,0x0f,以下是打印匹配输出0xf&nbsp;
<br>
<br>CONFIG写入结果为,0x0e,以下是打印匹配输出0xe&nbsp;
<br>都是匹配的,可是就是发送不了,也接受不了
这么大,还上班。。。
回复 支持 反对

使用道具 举报

558

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
164867
金钱
164867
注册时间
2010-12-1
在线时间
2099 小时
发表于 2013-4-4 20:01:20 | 显示全部楼层
移植的是我们的NRF24L01实验?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

5

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
108
金钱
108
注册时间
2012-5-21
在线时间
11 小时
 楼主| 发表于 2013-4-4 21:35:11 | 显示全部楼层
回复【6楼】正点原子:
<br>---------------------------------
<br>原子哥,我是用的自己的板子。。,就一个最小系统板
这么大,还上班。。。
回复 支持 反对

使用道具 举报

558

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
164867
金钱
164867
注册时间
2010-12-1
在线时间
2099 小时
发表于 2013-4-5 00:32:16 | 显示全部楼层
回复【7楼】xz16112:
<br>---------------------------------
<br>只要能读写了,问题应该都不大才对,在检查下吧.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

5

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
108
金钱
108
注册时间
2012-5-21
在线时间
11 小时
 楼主| 发表于 2013-4-5 15:02:33 | 显示全部楼层
回复【8楼】正点原子:
<br>---------------------------------
<br>我发现原因了,其中一个片子的IRQ坏了,实际这个片子也是坏的,不过我还是学到了一点经验,有时考虑问题要多角度,调试时也要多角度,我这次用同样的发射端的程序同样的试了2个NRF24L01模块,才发现问题的,以前一直是一个用发射的程序,一个用接收程序,死也没发现问题,白忙了都,我说的比较乱,总的来说,就是要善于变通,多角度发现问题,有时可能就是硬件的问题,首先要确保硬件没问题,再去调。。。
<br>还是谢谢原子哥了,同时建议其他的人,要多角度,不要思维定势
这么大,还上班。。。
回复 支持 反对

使用道具 举报

558

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
164867
金钱
164867
注册时间
2010-12-1
在线时间
2099 小时
发表于 2013-4-5 20:29:31 | 显示全部楼层
回复【9楼】xz16112:
<br>---------------------------------
<br>不客气,调试软件的时候,最忌讳还存在硬件问题。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
22
金钱
22
注册时间
2014-2-21
在线时间
0 小时
发表于 2014-3-20 09:23:51 | 显示全部楼层
回复【10楼】正点原子:
<br>---------------------------------
<br>你好,我用的STM8S,俺这个能发送成功,就是接收不到数据,偶尔能接收,这是什么问题
回复 支持 反对

使用道具 举报

558

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
164867
金钱
164867
注册时间
2010-12-1
在线时间
2099 小时
发表于 2014-3-20 17:41:32 | 显示全部楼层
回复【11楼】cainiaoxueyi:
<br>---------------------------------
<br>这个不好说,慢慢查代码
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
22
金钱
22
注册时间
2014-2-21
在线时间
0 小时
发表于 2014-3-25 21:32:10 | 显示全部楼层
回复【12楼】正点原子:
<br>---------------------------------
<br>这个解决了,是时序延时问题,单步运行的时候能够收发到数据
回复 支持 反对

使用道具 举报

111

主题

265

帖子

0

精华

高级会员

Rank: 4

积分
740
金钱
740
注册时间
2014-3-4
在线时间
6 小时
发表于 2014-4-20 20:10:52 | 显示全部楼层
回复【5楼】xz16112:
<br>回复【4楼】正点原子:&nbsp;---------------------------------&nbsp;是的啊,我把TX_mode的寄存器写入的值都读出来在打印,&nbsp;nRF24L01连接成功&nbsp;&nbsp;TX_ADDR写入结果为{0x34,0x43,0x10,0x10,0x01},以下是打印匹配输出0x34&nbsp;0x43&nbsp;0x10&nbsp;0x10&nbsp;0x1&nbsp;&nbsp;RX_ADDR_P0写入结果为{0x34,0x43,0x10,0x10,0x01},以下是打印匹配输出0x34&nbsp;0x43&nbsp;0x10&nbsp;0x10&nbsp;0x1&nbsp;&nbsp;EN_AA写入结果为,0x01,以下是打印匹配输出0x1&nbsp;&nbsp;EN_RXADDR写入结果为,0x01,以下是打印匹配输出0x1&nbsp;&nbsp;SETUP_RETR写入结果为,0x1a,以下是打印匹配输出0x1&nbsp;&nbsp;RF_CH写入结果为,0x28,以下是打印匹配输出0x28&nbsp;&nbsp;RF_SETUP写入结果为,0x0f,以下是打印匹配输出0
<br>......
<br>---------------------------------
<br>问一下
<br>TX_ADDR写入结果为{0x34,0x43,0x10,0x10,0x01},以下是打印匹配输出0x34&nbsp;0x43&nbsp;0x10&nbsp;0x10&nbsp;0x1&nbsp;&nbsp;
<br>
<br>RX_ADDR_P0写入结果为{0x34,0x43,0x10,0x10,0x01},以下是打印匹配输出0x34&nbsp;0x43&nbsp;0x10&nbsp;0x10&nbsp;0x1&nbsp;&nbsp;
<br>这两句是什么意思??&nbsp;&nbsp;&nbsp;那五个数是从何来???
回复 支持 反对

使用道具 举报

558

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
164867
金钱
164867
注册时间
2010-12-1
在线时间
2099 小时
发表于 2014-4-20 20:33:07 | 显示全部楼层
回复【14楼】傻子:
<br>---------------------------------
<br>5个地址值,随便定义
<br>你爱怎么写,怎么写
<br>收发一致即可。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

111

主题

265

帖子

0

精华

高级会员

Rank: 4

积分
740
金钱
740
注册时间
2014-3-4
在线时间
6 小时
发表于 2014-4-20 20:57:08 | 显示全部楼层
回复【15楼】正点原子:
<br>回复【14楼】傻子:&nbsp;---------------------------------&nbsp;5个地址值,随便定义&nbsp;你爱怎么写,怎么写&nbsp;收发一致即可。
<br>---------------------------------
<br>奥,似乎明白点了。原子哥还有一个问题
<br>void&nbsp;TX_Mode(void)
<br>{                                                                                                                &nbsp;
<br>NRF24L01_CE=0;        &nbsp;&nbsp;&nbsp;&nbsp;
<br>NRF24L01_Write_Buf(WRITE_REG+TX_ADDR,(u8*)TX_ADDRESS,TX_ADR_WIDTH);//写TX节点地址&nbsp;
<br>NRF24L01_Write_Buf(WRITE_REG+RX_ADDR_P0,(u8*)RX_ADDRESS,RX_ADR_WIDTH);&nbsp;//设置TX节点地址使&nbsp;&nbsp;
<br>NRF24L01_Write_Reg(WRITE_REG+EN_AA,0x01);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//使能通道0的自动应答&nbsp;&nbsp;&nbsp;&nbsp;
<br>NRF24L01_Write_Reg(WRITE_REG+EN_RXADDR,0x01);&nbsp;//使能通道0的接收地址&nbsp;&nbsp;
<br>NRF24L01_Write_Reg(WRITE_REG+SETUP_RETR,0x1a);//设置自动重发间隔时间:500us&nbsp;+&nbsp;86us;最大自动重发次数:10次
<br>NRF24L01_Write_Reg(WRITE_REG+RF_CH,40);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//设置RF通道为40
<br>NRF24L01_Write_Reg(WRITE_REG+RF_SETUP,0x0f);&nbsp;&nbsp;//设置TX发射参数,0db增益,2Mbps,低噪声增益开启&nbsp;&nbsp;&nbsp;
<br>NRF24L01_Write_Reg(WRITE_REG+CONFIG,0x0e);&nbsp;&nbsp;&nbsp;&nbsp;//配置基本工作模式的参数WR_UP,EN_CRC,
<br>}
<br>对于这段代码
<br>问题一:        NRF24L01_Write_Reg这个是通过spi向24l01里的寄存器配置命令吧?
<br>问题二:        &nbsp;NRF24L01_Write_Buf这个是干什么用的?没太看懂&nbsp;&nbsp;
<br>原子哥辛苦了
回复 支持 反对

使用道具 举报

111

主题

265

帖子

0

精华

高级会员

Rank: 4

积分
740
金钱
740
注册时间
2014-3-4
在线时间
6 小时
发表于 2014-4-21 10:30:00 | 显示全部楼层
回复【17楼】正点原子:
<br>回复【16楼】傻子:&nbsp;---------------------------------&nbsp;1,是的&nbsp;2,写数据。
<br>---------------------------------
<br>回复【17楼】正点原子:
<br>回复【16楼】傻子:&nbsp;---------------------------------&nbsp;1,是的&nbsp;2,写数据。
<br>---------------------------------
<br>NRF24L01_Write_Reg这个是通过spi向24l01里的寄存器写命令
<br>NRF24L01_Write_Buf这个是通过spi向24l01的寄存器里写数据?
回复 支持 反对

使用道具 举报

558

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
164867
金钱
164867
注册时间
2010-12-1
在线时间
2099 小时
发表于 2014-4-21 19:49:58 | 显示全部楼层
回复【18楼】傻子:
<br>---------------------------------
<br>你其实可以对比下这两个函数。
<br>唯一的不同就是:NRF24L01_Write_Reg,只带一个参数。
<br>而NRF24L01_Write_Buf,是可以带一堆参数的。
<br>你可以把:NRF24L01_Write_Reg看成是NRF24L01_Write_Buf的一个子集。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

5

主题

9

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2014-4-21
在线时间
0 小时
发表于 2014-4-21 19:54:47 | 显示全部楼层
LZ有没有一些关于2.4g的学习资料啊~~
回复 支持 反对

使用道具 举报

111

主题

265

帖子

0

精华

高级会员

Rank: 4

积分
740
金钱
740
注册时间
2014-3-4
在线时间
6 小时
发表于 2014-4-21 20:02:47 | 显示全部楼层
回复【19楼】正点原子:
<br>回复【18楼】傻子:&nbsp;---------------------------------&nbsp;你其实可以对比下这两个函数。&nbsp;唯一的不同就是:NRF24L01_Write_Reg,只带一个参数。&nbsp;而NRF24L01_Write_Buf,是可以带一堆参数的。&nbsp;你可以把:NRF24L01_Write_Reg看成是NRF24L01_Write_Buf的一个子集。
<br>---------------------------------
<br>理解了,谢原子哥
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
26
金钱
26
注册时间
2014-4-3
在线时间
1 小时
发表于 2014-5-15 21:11:32 | 显示全部楼层
#include&quot;sys.h&quot;
<br>#include&nbsp;&quot;24cl01.h&quot;
<br>#include&nbsp;&quot;spi.h&quot;
<br>
<br>#define&nbsp;Left&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;
<br>#define&nbsp;Right&nbsp;2&nbsp;
<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;//???????·                                                &nbsp;&nbsp;&nbsp;&nbsp;
<br>//??????24L01??IO??
<br>/*u8&nbsp;tmp_buf[33]={0x31,0x30,0x29,0x28,0x27,0x26,0x25,0x24,
<br>0x23,0x22,0x21,0x20,0x19,0x18,0x17,0x16,0x15,0x14,0x13,0x12,
<br>0x11,0x10,0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x01,0x00};//????????????*/
<br>const&nbsp;u8&nbsp;&nbsp;ip[6]={'0','F','U','C','K',0x00};//·??????·&nbsp;&nbsp;????0x00????LCD?????á??????
<br>const&nbsp;u8&nbsp;ip0[6]={'0','F','U','C','K',0x00};//???????·0&nbsp;???÷??2?ì
<br>const&nbsp;u8&nbsp;ip1[6]={'1','F','U','C','K',0x00};//???????·1&nbsp;??·??????????°?????????ó??
<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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//?¨???????????????±?ò???????????????????±?ò??????±???????
<br>const&nbsp;u8&nbsp;ip2[6]={'2','F','U','C','K',0x00};//???????·2&nbsp;???·char5??char4??char3??char2??char1.
<br>const&nbsp;u8&nbsp;ip3[6]={'3','F','U','C','K',0x00};//???????·3        ?¨??2345?????è??char1
<br>const&nbsp;u8&nbsp;ip4[6]={'4','F','U','C','K',0x00};//???????·4        ?????±?ò???ò??char1??char2??char3??char4??char5
<br>const&nbsp;u8&nbsp;ip5[6]={'5','F','U','C','K',0x00};//???????·5                &nbsp;
<br>u8&nbsp;caout[6]={0xff,0xff,0xff,0xff,0xff,0x00};//?????ì?é·??????·
<br>u8&nbsp;caip0[6]={0xff,0xff,0xff,0xff,0xff,0x00};//?????ì?é???????·0
<br>u8&nbsp;caip1[6]={0xff,0xff,0xff,0xff,0xff,0x00};//?????ì?é???????·1
<br>u8&nbsp;caip2[6]={0xff,0xff,0xff,0xff,0xff,0x00};//?????ì?é???????·2
<br>u8&nbsp;caip3[6]={0xff,0xff,0xff,0xff,0xff,0x00};//?????ì?é???????·3
<br>u8&nbsp;caip4[6]={0xff,0xff,0xff,0xff,0xff,0x00};//?????ì?é???????·4
<br>u8&nbsp;caip5[6]={0xff,0xff,0xff,0xff,0xff,0x00};//?????ì?é???????·5
<br>u8&nbsp;careg[2]={0xff,0x00};//?????é???????÷????
<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>                                                        &nbsp;&nbsp;&nbsp;&nbsp;
<br>//??????24L01??IO??
<br>void&nbsp;NRF24L01_Init(void)
<br>{
<br>        //??????PB10.11.12
<br>        RCC-&gt;APB2ENR|=1&lt;&lt;3;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//PORTB?±??????&nbsp;        &nbsp;
<br>        GPIOB-&gt;CRH&=0XFFF000FF;&nbsp;
<br>        GPIOB-&gt;CRH|=0X00038300;        &nbsp;&nbsp;&nbsp;&nbsp;
<br>        GPIOB-&gt;ODR|=1&lt;&lt;10;&nbsp;&nbsp;
<br>&nbsp;&nbsp;GPIOB-&gt;ODR|=1&lt;&lt;12;&nbsp;&nbsp;
<br>        GPIOB-&gt;ODR|=1&lt;&lt;11;
<br>        SPI2_Init();&nbsp;&nbsp;&nbsp;&nbsp;//??????SPI
<br>        NRF24L01_CSN=1;        //SPI????????                &nbsp;&nbsp;                &nbsp;                &nbsp;&nbsp;
<br>        NRF24L01_CE=0;&nbsp;//??????
<br>
<br>}
<br>//?ì??24L01??·?????
<br>//·?????:0??????;1???§°?       
<br>u8&nbsp;NRF24L01_Check(void)
<br>{
<br>        u8&nbsp;buf[5]={0XF0,0XF0,0XF0,0XF0,0XF0};&nbsp;&nbsp;//???????°?????????ó
<br>        u8&nbsp;i;
<br>        SPI2_SetSpeed(SPI_SPEED_4);&nbsp;//spi??????9Mhz?¨24L01??×??óSPI?±????10Mhz??&nbsp;&nbsp;&nbsp;        &nbsp;
<br>        NRF24L01_Write_Buf(0x20+0x10,buf,5);//????5??×????????·.       
<br>        NRF24L01_Read_Buf(0x10,buf,5);&nbsp;//?????????????·&nbsp;&nbsp;
<br>        for(i=0;i&lt;5;i++)&nbsp;&nbsp;&nbsp;&nbsp;if(buf!=0XF0)break;        &nbsp;                                                        &nbsp;&nbsp;&nbsp;
<br>        if(i!=5)return&nbsp;1;//?ì??24L01?í?ó       
<br>        return&nbsp;0;                &nbsp;//?ì????24L01
<br>}        &nbsp;        &nbsp;
<br>//SPI???????÷
<br>//reg:???¨?????÷???·
<br>//value:????????
<br>u8&nbsp;NRF24L01_Write_Reg(u8&nbsp;reg,u8&nbsp;value)
<br>{
<br>        u8&nbsp;status;       
<br>&nbsp;&nbsp;&nbsp;        NRF24L01_CSN=0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//????SPI????
<br>&nbsp;&nbsp;        status&nbsp;=SPI2_ReadWriteByte(reg);//·????????÷??&nbsp;
<br>&nbsp;&nbsp;        SPI2_ReadWriteByte(value);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//?????????÷????
<br>&nbsp;&nbsp;        NRF24L01_CSN=1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//????SPI????        &nbsp;&nbsp;&nbsp;
<br>&nbsp;&nbsp;        return(status);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;                        //·???×?????
<br>}
<br>//????SPI?????÷??
<br>//reg:???????????÷
<br>u8&nbsp;NRF24L01_Read_Reg(u8&nbsp;reg)
<br>{
<br>        u8&nbsp;reg_val;        &nbsp;&nbsp;&nbsp;&nbsp;
<br>&nbsp;        NRF24L01_CSN&nbsp;=&nbsp;0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//????SPI????               
<br>&nbsp;&nbsp;        SPI2_ReadWriteByte(reg);&nbsp;&nbsp;&nbsp;//·????????÷??
<br>&nbsp;&nbsp;        reg_val=SPI2_ReadWriteByte(0XFF);//?????????÷????
<br>&nbsp;&nbsp;        NRF24L01_CSN&nbsp;=&nbsp;1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//????SPI????                &nbsp;&nbsp;&nbsp;&nbsp;
<br>&nbsp;&nbsp;        return(reg_val);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//·???×?????
<br>}       
<br>//?????¨???????????¨?¤????????
<br>//reg:?????÷(????)
<br>//*pBuf:????????
<br>//len:?????¤??
<br>//·?????,??????????×????????÷??&nbsp;
<br>u8&nbsp;NRF24L01_Read_Buf(u8&nbsp;reg,u8&nbsp;*pBuf,u8&nbsp;len)
<br>{
<br>        u8&nbsp;status,u8_ctr;        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<br>&nbsp;&nbsp;        NRF24L01_CSN&nbsp;=&nbsp;0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//????SPI????
<br>&nbsp;&nbsp;        status=SPI2_ReadWriteByte(reg);//·????????÷??(????),??????×?????&nbsp;&nbsp;&nbsp;        &nbsp;&nbsp;&nbsp;
<br>&nbsp;        for(u8_ctr=0;u8_ctr&lt;len;u8_ctr++)
<br>        &nbsp;{
<br>        &nbsp;&nbsp;pBuf[u8_ctr]=SPI2_ReadWriteByte(0XFF);//????????
<br>&nbsp;&nbsp;        &nbsp;}
<br>        NRF24L01_CSN=1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//??±?SPI????
<br>&nbsp;&nbsp;        return&nbsp;status;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//·?????????×?????
<br>}
<br>//?????¨?????????¨?¤????????
<br>//reg:?????÷(????)
<br>//*pBuf:????????
<br>//len:?????¤??
<br>//·?????,??????????×????????÷??
<br>u8&nbsp;NRF24L01_Write_Buf(u8&nbsp;reg,&nbsp;u8&nbsp;*pBuf,&nbsp;u8&nbsp;len)
<br>{
<br>        u8&nbsp;status,u8_ctr;        &nbsp;&nbsp;&nbsp;&nbsp;
<br>&nbsp;        NRF24L01_CSN&nbsp;=&nbsp;0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//????SPI????
<br>&nbsp;&nbsp;        status&nbsp;=&nbsp;SPI2_ReadWriteByte(reg);//·????????÷??(????),??????×?????
<br>&nbsp;&nbsp;        for(u8_ctr=0;&nbsp;u8_ctr&gt;&lt;len;&nbsp;u8_ctr++)SPI2_ReadWriteByte(*pBuf++);&nbsp;//????????        &nbsp;
<br>&nbsp;&nbsp;        NRF24L01_CSN&nbsp;=&nbsp;1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//??±?SPI????
<br>&nbsp;&nbsp;        return&nbsp;status;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//·?????????×?????
<br>}
<br>                                &nbsp;&nbsp;&nbsp;
<br>//????NRF24L01·???????????
<br>//txbuf:??·????????×???·
<br>//·?????:·????ê??×???
<br>u8&nbsp;NRF24L01_TxPacket(u8&nbsp;*txbuf)
<br>{
<br>        u8&nbsp;sta;
<br>&nbsp;        SPI2_SetSpeed(SPI_SPEED_4);//spi??????9Mhz?¨24L01??×??óSPI?±????10Mhz??&nbsp;&nbsp;&nbsp;
<br>        NRF24L01_CE=0;
<br>&nbsp;&nbsp;        NRF24L01_Write_Buf(0xA0,txbuf,32);//????????TX&nbsp;BUF&nbsp;&nbsp;32??×???
<br>&nbsp;        NRF24L01_CE=1;//????·???        &nbsp;&nbsp;&nbsp;
<br>        while(NRF24L01_IRQ!=0);//????·????ê??
<br>        sta=NRF24L01_Read_Reg(0x07);&nbsp;&nbsp;//????×????????÷????        &nbsp;&nbsp;&nbsp;
<br>        NRF24L01_Write_Reg(0x20+0x07,sta);&nbsp;//????TX_DS?òMAX_RT????±ê??
<br>        if(sta&0x10)//????×??ó??·?????
<br>        {
<br>                NRF24L01_Write_Reg(0xE1,0xff);//????TX&nbsp;FIFO?????÷&nbsp;
<br>                LCD_Play1(5,10,"Send&nbsp;DATA",Right);
<br>                return&nbsp;MAX_TX;&nbsp;
<br>        }
<br>        if(sta&0x20)//·????ê??
<br>        {
<br>&nbsp;&nbsp;&nbsp;&nbsp;LCD_Play1(5,40,"OK!",Left);
<br>//                LED0=!LED0;
<br>                return&nbsp;TX_OK;
<br>        }
<br>        return&nbsp;0xff;//???????ò·????§°?
<br>}
<br>//????NRF24L01·???????????
<br>//txbuf:??·????????×???·
<br>//·?????:0???????ê???????????í?ó?ú??
<br>u8&nbsp;NRF24L01_RxPacket(u8&nbsp;*rxbuf)
<br>{
<br>        u8&nbsp;sta;                &nbsp;&nbsp;&nbsp;&nbsp;                                                        &nbsp;&nbsp;&nbsp;
<br>        SPI2_SetSpeed(SPI_SPEED_4);&nbsp;//spi??????9Mhz?¨24L01??×??óSPI?±????10Mhz??&nbsp;&nbsp;&nbsp;
<br>        sta=NRF24L01_Read_Reg(0x07);&nbsp;&nbsp;//????×????????÷????&nbsp;&nbsp;&nbsp;&nbsp;        &nbsp;
<br>        NRF24L01_Write_Reg(0x20+0x07,sta);&nbsp;//????TX_DS?òMAX_RT????±ê??
<br>        careg[0]=sta;
<br>        if(sta&0x40)//??????????wei&nbsp;6
<br>        {
<br>               
<br>                NRF24L01_Read_Buf(0x61,rxbuf,32);//????????
<br>                NRF24L01_Write_Reg(0xe2,0xff);//????RX&nbsp;FIFO?????÷&nbsp;
<br>//                LED1=!LED1;                                        &nbsp;&nbsp;//?????????÷
<br>                return&nbsp;1;&nbsp;
<br>        }        &nbsp;&nbsp;&nbsp;
<br>        return&nbsp;0;//??????????????
<br>}                                        &nbsp;&nbsp;&nbsp;&nbsp;
<br>//????????????NRF24L01??RX????
<br>//?è??RX???·,??RX?????í??,????RF????,?¨??????LNA&nbsp;HCURR
<br>//?±CE±????ó,??????RX????,????????????????                &nbsp;&nbsp;&nbsp;
<br>void&nbsp;RX_Mode(void)//????
<br>{
<br>        NRF24L01_CE=0;&nbsp;        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//?è??24L01+??±???????????????????       
<br>&nbsp;&nbsp;&nbsp;&nbsp;NRF24L01_Write_Reg(0x20+0x00,0x0f);//???????????????ù±?????WR_UP,EN_CRC,16BIT_CRC,
<br>&nbsp;&nbsp;&nbsp;&nbsp;NRF24L01_Write_Reg(0x20+0x01,0x3f);//?????è??0x3f?ú±í543210????
<br>//        NRF24L01_Read_Buf(0x01,careg,1);&nbsp;&nbsp;&nbsp;//???????ì?é?????????÷0x01??????
<br>&nbsp;&nbsp;&nbsp;&nbsp;NRF24L01_Write_Reg(0x20+0x02,0x3f);//?????¨??????0x3f?ú±í543210?¨??????
<br>&nbsp;&nbsp;        NRF24L01_Write_Reg(0x20+0x05,50);&nbsp;&nbsp;//?è??RF?¨??????2.4G+?è????Mhz??·??§0x00??0x7f
<br>&nbsp;&nbsp;        NRF24L01_Write_Reg(0x20+0x06,0x0f);//?è??TX·???????,0db????,2Mbps,?????ù????????&nbsp;&nbsp;
<br>//        NRF24L01_Write_Reg(0x20+0x06,0xa7);//24L01+???é?è??TX·???????,0db????,250kbps,?????ù????????
<br>
<br>        NRF24L01_Write_Buf(0X20+0X0a,(u8*)ip0,5);//??RX0???????·
<br>//        NRF24L01_Read_Buf(0x0a,caip0,5);        &nbsp;//?é???·?·?¨??????
<br>        NRF24L01_Write_Buf(0X20+0X0b,(u8*)ip1,5);//??RX1???????·
<br>//        NRF24L01_Read_Buf(0x0b,caip1,5);
<br>        NRF24L01_Write_Buf(0X20+0X0c,(u8*)ip2,1);//??RX2???????·?¨????1???????ò??????±???????
<br>//        NRF24L01_Read_Buf(0x0c,caip2,5);
<br>        NRF24L01_Write_Buf(0X20+0X0d,(u8*)ip3,1);//??RX3???????·&nbsp;
<br>//        NRF24L01_Read_Buf(0x0d,caip3,5);
<br>        NRF24L01_Write_Buf(0X20+0X0e,(u8*)ip4,1);//??RX4???????·
<br>//        NRF24L01_Read_Buf(0x0e,caip4,5);
<br>        NRF24L01_Write_Buf(0X20+0X0f,(u8*)ip5,1);//??RX5???????·
<br>//        NRF24L01_Read_Buf(0x0f,caip5,5);
<br>        NRF24L01_Write_Buf(0X20+0X10,(u8*)ip1,5);//??TX?????·
<br>//        NRF24L01_Read_Buf(0x10,caout,5);
<br>
<br>        NRF24L01_Write_Reg(0x20+0x11,32);//?????¨??0?????§?????í??32×???&nbsp;
<br>        NRF24L01_Write_Reg(0x20+0x12,32);//?????¨??1?????§?????í??32×???&nbsp;
<br>        NRF24L01_Write_Reg(0x20+0x13,32);//?????¨??2?????§?????í??32×???&nbsp;
<br>        NRF24L01_Write_Reg(0x20+0x14,32);//?????¨??3?????§?????í??32×???&nbsp;
<br>        NRF24L01_Write_Reg(0x20+0x15,32);//?????¨??4?????§?????í??32×???&nbsp;
<br>        NRF24L01_Write_Reg(0x20+0x16,32);//?????¨??5?????§?????í??32×???&nbsp;
<br>
<br>        NRF24L01_CE&nbsp;=&nbsp;1;&nbsp;//CE????,????????????
<br>
<br>
<br>}                                                &nbsp;
<br>
<br>//????????????NRF24L01??TX????
<br>//?è??TX???·,??TX?????í??,?è??RX×????????????·,????TX·???????,????RF????,?¨??????LNA&nbsp;HCURR
<br>//PWR_UP,CRC????
<br>//?±CE±????ó,??????RX????,????????????????                &nbsp;&nbsp;&nbsp;
<br>//CE?????ó??10us,?ò????·???.        &nbsp;
<br>void&nbsp;TX_Mode(void)//·???
<br>{                                                                                                                &nbsp;
<br>        NRF24L01_CE=0;//???????ú        &nbsp;&nbsp;&nbsp;&nbsp;
<br>&nbsp;&nbsp;        NRF24L01_Write_Buf(0x20+0x10,(u8*)ip,5);//??TX???????·&nbsp;
<br>&nbsp;&nbsp;        NRF24L01_Write_Buf(0x20+0x0a,(u8*)ip0,5);&nbsp;//?è??TX???????·,?÷??????????ACK        &nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;NRF24L01_Write_Reg(0x20+0x00,0x0e);&nbsp;&nbsp;&nbsp;&nbsp;//?????ù±??¤×÷??????????WR_UP,EN_CRC,16BIT_CRC,????????,?????ù??????
<br>&nbsp;&nbsp;        NRF24L01_Write_Reg(0x20+0x01,0x3f);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//?????¨??543210??×???????&nbsp;&nbsp;&nbsp;&nbsp;
<br>&nbsp;&nbsp;        NRF24L01_Write_Reg(0x20+0x02,0x3f);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//?????¨??543210?????????·&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;//NRF24L01_Write_Reg(0x20+0x03,0x03);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<br>&nbsp;&nbsp;        NRF24L01_Write_Reg(0x20+0x04,0xff);//?è??×?????·??????±??:4000us&nbsp;+&nbsp;86us;×??ó×?????·?????:15??
<br>&nbsp;&nbsp;        NRF24L01_Write_Reg(0x20+0x05,50);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//?è??RF?¨????×??ó??(111&nbsp;1111)Mhz&nbsp;+2.4Ghz
<br>&nbsp;&nbsp;        NRF24L01_Write_Reg(0x20+0x06,0x0f);&nbsp;&nbsp;//?è??TX·???????,0db????,2Mbps,?????ù????????&nbsp;&nbsp;&nbsp;
<br>//        NRF24L01_Write_Reg(0x20+0x06,0xa7);//24L01+???é?è??TX·???????,0db????,250kbps,?????ù????????
<br>       
<br>        NRF24L01_CE=1;//CE????,10us?ó????·???
<br>}                &nbsp;&nbsp;
<br>
<br>求指教为什么发送不成功&gt;
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
23
金钱
23
注册时间
2014-5-11
在线时间
0 小时
发表于 2014-5-20 09:23:46 | 显示全部楼层
回复【13楼】cainiaoxueyi:
<br>---------------------------------
<br>哥们我也是用stm8接收不到,你的是怎么解决的?可否告诉一下啊,十分感谢啊。
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
23
金钱
23
注册时间
2014-5-11
在线时间
0 小时
发表于 2014-5-20 09:30:18 | 显示全部楼层
回复【13楼】cainiaoxueyi:
<br>我的stm8是接收慢,你是哪里的延时有问题?
回复 支持 反对

使用道具 举报

5

主题

110

帖子

0

精华

初级会员

Rank: 2

积分
152
金钱
152
注册时间
2013-9-16
在线时间
0 小时
发表于 2014-12-25 10:35:45 | 显示全部楼层
回复【7楼】xz16112:
<br>---------------------------------
<br>其实你可以用用别的型号,简单易懂。
RFinchina 团队欢迎无线方面的技术交流 QQ 474882985
回复 支持 反对

使用道具 举报

5

主题

110

帖子

0

精华

初级会员

Rank: 2

积分
152
金钱
152
注册时间
2013-9-16
在线时间
0 小时
发表于 2014-12-25 10:38:14 | 显示全部楼层
回复【25楼】rfinchina:
<br>---------------------------------
<br>可以看看WLK01L39,传输距离元,功能还很强大。
RFinchina 团队欢迎无线方面的技术交流 QQ 474882985
回复 支持 反对

使用道具 举报

5

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
108
金钱
108
注册时间
2012-5-21
在线时间
11 小时
 楼主| 发表于 2014-12-25 10:54:13 | 显示全部楼层
回复【26楼】rfinchina:
<br>---------------------------------
<br>谢谢,不需要。。。太贵
这么大,还上班。。。
回复 支持 反对

使用道具 举报

5

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
108
金钱
108
注册时间
2012-5-21
在线时间
11 小时
 楼主| 发表于 2014-12-25 10:56:04 | 显示全部楼层
NRF24L01+做点对点通信还是非常好的,性价比很高。
这么大,还上班。。。
回复 支持 反对

使用道具 举报

13

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
143
金钱
143
注册时间
2014-12-12
在线时间
4 小时
发表于 2015-1-8 14:38:14 | 显示全部楼层
回复【5楼】xz16112:
<br>---------------------------------
<br>楼主,你的延时是怎么回事?能说明一下吗?我的也出现你同样的问题了,谢谢!
回复 支持 反对

使用道具 举报

13

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
143
金钱
143
注册时间
2014-12-12
在线时间
4 小时
发表于 2015-1-8 14:45:18 | 显示全部楼层
回复【5楼】xz16112:
<br>---------------------------------
<br>另外,我发送的IRQ可以跳为低电平,但是接收的程序上是低电平,但是我测的电压还是高电平,楼主有没有过这样的情况?
回复 支持 反对

使用道具 举报

5

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
108
金钱
108
注册时间
2012-5-21
在线时间
11 小时
 楼主| 发表于 2015-1-9 16:21:49 | 显示全部楼层
回复【29楼】羁绊:
<br>---------------------------------
<br>我没延时吧。。
这么大,还上班。。。
回复 支持 反对

使用道具 举报

5

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
108
金钱
108
注册时间
2012-5-21
在线时间
11 小时
 楼主| 发表于 2015-1-9 16:23:05 | 显示全部楼层
回复【30楼】羁绊:
<br>---------------------------------
<br>没开中断
这么大,还上班。。。
回复 支持 反对

使用道具 举报

13

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
143
金钱
143
注册时间
2014-12-12
在线时间
4 小时
发表于 2015-1-11 22:38:57 | 显示全部楼层
回复【32楼】xz16112:
<br>---------------------------------
<br>怎么开中断?用NVIC配置吗?感觉不对啊
回复 支持 反对

使用道具 举报

3

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2014-7-14
在线时间
0 小时
发表于 2015-4-29 09:23:45 | 显示全部楼层
回复【2楼】正点原子:
<br>---------------------------------
<br>你好!我的板子用的是你的&nbsp;,代码用的还是你的&nbsp;&nbsp;&nbsp;就是单独把发送的那部分提取出来为啥发送不成功,一直都是达到最大发送次数
回复 支持 反对

使用道具 举报

558

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
164867
金钱
164867
注册时间
2010-12-1
在线时间
2099 小时
发表于 2015-4-29 23:19:44 | 显示全部楼层
回复【34楼】午夜之孤魂:
<br>---------------------------------
<br>因为我们的要有接收部分才可以。开了自动ACK,如果收不到ACK,就会出现你说的情况。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

3

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2014-7-14
在线时间
0 小时
发表于 2015-4-30 10:24:22 | 显示全部楼层
回复【35楼】正点原子:
<br>---------------------------------
<br>我已经实现了,谢谢了!有个小请求你的头像那个动态图片我比较喜欢&nbsp;&nbsp;能发给我吗我的邮箱446310852@qq.com
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2020-5-2
在线时间
4 小时
发表于 2021-4-19 18:29:42 | 显示全部楼层
正点原子 发表于 2013-4-4 19:07
那应该可以才对了,2个模块一起买的吧?

原子哥,请问如果两个模块不是一起买的,对接收和发送有影响吗?
回复 支持 反对

使用道具 举报

5

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
152
金钱
152
注册时间
2022-1-1
在线时间
26 小时
发表于 2022-5-15 10:08:57 | 显示全部楼层
本帖最后由 S00 于 2022-5-15 10:10 编辑
正点原子 发表于 2013-4-4 18:57
底层驱动没问题吧?
SPI操作NRF的寄存器什么的,先确保这个正常。

原子哥,我用的标准例程里的代码,想用32的板子跟51通信,但是RF_CH设置为40通信不了,设置为0才可以,可以解答一下吗?谢谢
屏幕截图 2022-05-15 100126.png
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
4
金钱
4
注册时间
2023-4-11
在线时间
1 小时
发表于 2023-4-11 11:18:59 | 显示全部楼层
我遇到和你一样的问题。芯片验证都能通过,但就是无法发送,一直最大重发。我试了各种方法,但最后发现是硬件问题,我在nrf2401模块的VCC和GND,加了100nF和10uF的电容,就正常了。所以模块不是买回来就能用的,需要你再对电源滤波进行修改。
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-5-16 00:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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