OpenEdv-开源电子网

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

STM32操作NRF2401一直检测不到NRF的存在,请问原子哥,什么问题,与后面的发送,接受设置有关吗,还是只与IO口的配置和SPI配置和最基本的那几个函数有

[复制链接]

36

主题

100

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
265
金钱
265
注册时间
2013-8-3
在线时间
0 小时
发表于 2013-8-3 01:26:25 | 显示全部楼层 |阅读模式
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165225
金钱
165225
注册时间
2010-12-1
在线时间
2107 小时
发表于 2013-8-3 10:33:52 | 显示全部楼层
回复【楼主位】1756143812:
<br>---------------------------------
<br>直接下载我们的例程测试的么?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

36

主题

100

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
265
金钱
265
注册时间
2013-8-3
在线时间
0 小时
 楼主| 发表于 2013-8-3 18:21:53 | 显示全部楼层
回复【2楼】正点原子:
<br>----------------------现在可以检测到NRF的存在了,可是进入不了if(NRF2401_TXpack(buf)==TX_OK)这句话,这是什么情况,可以分析一下吗??
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165225
金钱
165225
注册时间
2010-12-1
在线时间
2107 小时
发表于 2013-8-3 18:32:21 | 显示全部楼层
收发要一对才可以.
<br>我们的例程用了自动ack功能,如果发送数据得不到ACK确认,那就认为是发送失败的.所以你如果只有一个板子,那就别想发送成功了....
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

36

主题

100

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
265
金钱
265
注册时间
2013-8-3
在线时间
0 小时
 楼主| 发表于 2013-8-3 18:38:04 | 显示全部楼层
回复【4楼】正点原子:
<br>---------------------------------恩,原子哥,我是用两块RBt6的,不知哪的问题:
<br>&nbsp;u8&nbsp;NRF2401_TXpack(u8&nbsp;*bf)                        &nbsp;//发送字节首地址,        发送一个字节
<br>{
<br>                &nbsp;&nbsp;&nbsp;u8&nbsp;VAL=0;
<br>                &nbsp;&nbsp;&nbsp;u8&nbsp;len1=0;
<br>                &nbsp;&nbsp;&nbsp;//&nbsp;Clr_NRF2401_CS;                                &nbsp;&nbsp;//ladi??????????
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clr_NRF2401_CE;&nbsp;                                &nbsp;&nbsp;//用来进行模式选择
<br>                &nbsp;&nbsp;&nbsp;NRF2401_WR_BF(WR_TX_PLOAD,bf,TX_PLOAD_WIDTH);
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set_NRF2401_CE;                                //因为已经被拉高了,所以后面的接受模块就不用设了
<br>                &nbsp;&nbsp;&nbsp;while&nbsp;(NRF2401_IRQ);        //设置的为高       
<br>                &nbsp;
<br>                &nbsp;&nbsp;&nbsp;VAL=NRF2401_RD_REG(STATUS);                                               
<br>                &nbsp;&nbsp;&nbsp;NRF2401_WR_REG(SPI_WRITE_REG+STATUS,VAL);                //写寄存器.清TX
<br>                &nbsp;&nbsp;&nbsp;if((VAL&MAX_TX))                &nbsp;//按位与(x&1)        &nbsp;达到最大发送次数
<br>                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{                                       
<br>                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NRF2401_WR_REG(FLUSH_TX,0XFF);                &nbsp;&nbsp;//写1清0        ,发送成功直接清零
<br>                        &nbsp;&nbsp;return&nbsp;MAX_TX;
<br>                        &nbsp;&nbsp;}
<br>                &nbsp;&nbsp;&nbsp;if(VAL&TX_OK)
<br>                &nbsp;&nbsp;&nbsp;return&nbsp;TX_OK;                        //会在后面用到
<br>                &nbsp;&nbsp;
<br>                &nbsp;&nbsp;&nbsp;else&nbsp;return&nbsp;(0xff);
<br>               
<br>
<br>
<br>
<br>}这个是我参照你的程序写的发送程序,不知哪有问题、、
回复 支持 反对

使用道具 举报

36

主题

100

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
265
金钱
265
注册时间
2013-8-3
在线时间
0 小时
 楼主| 发表于 2013-8-3 19:00:07 | 显示全部楼层
回复【5楼】1756143812:
<br>--------------------还有一个问题:NRF中好像没有用到中断,可以不要配置中断吗,我看你的程序里配置了中断
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165225
金钱
165225
注册时间
2010-12-1
在线时间
2107 小时
发表于 2013-8-3 19:50:07 | 显示全部楼层
回复【6楼】1756143812:
<br>---------------------------------
<br>我们例程没用到中断.用的查询方式.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

36

主题

100

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
265
金钱
265
注册时间
2013-8-3
在线时间
0 小时
 楼主| 发表于 2013-8-4 10:40:46 | 显示全部楼层
回复【7楼】正点原子:
<br>---------------------------------
<br>恩,知道了,现在在看TFT彩屏显示实验,不知道为什么要用到串口呢,我不加串口就不能显示,只是白屏!!求原子哥给个解释
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165225
金钱
165225
注册时间
2010-12-1
在线时间
2107 小时
发表于 2013-8-4 11:38:41 | 显示全部楼层
在LCD_Init里面用了printf.
<br>所以必须加串口初始化,否则死机在printf里面.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

8

主题

136

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
427
金钱
427
注册时间
2015-4-24
在线时间
85 小时
发表于 2015-5-1 15:19:31 | 显示全部楼层
回复【8楼】1756143812:
<br>---------------------------------
<br>你好&nbsp;问一下检测不到2401是怎么回事&nbsp;谢谢
回复 支持 反对

使用道具 举报

2

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
102
金钱
102
注册时间
2015-3-29
在线时间
13 小时
发表于 2015-5-3 09:55:10 | 显示全部楼层
回复【9楼】正点原子:
<br>---------------------------------
<br>原子哥,能检测到24L01,初始化也没问题,但是发送不出去,后来用串口检查了一下,是发送数据的时候一直返回最大值,我有用两块开发板测试,电源也隔离了,没用同一个电源,求教为什么是返回发送次数最大值0x10?看了论坛其他人的问题,加了个延时什么的也都不行。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165225
金钱
165225
注册时间
2010-12-1
在线时间
2107 小时
发表于 2015-5-5 00:39:52 | 显示全部楼层
回复【11楼】幸运果:
<br>---------------------------------
<br>我也不知道了
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

2

主题

3

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2020-1-25
在线时间
8 小时
发表于 2020-2-10 15:48:25 | 显示全部楼层
楼主请问你是怎么检测出来的,我也遇到了同样的问题,检测不到nrf
回复 支持 反对

使用道具 举报

3

主题

19

帖子

0

精华

高级会员

Rank: 4

积分
849
金钱
849
注册时间
2019-10-1
在线时间
316 小时
发表于 2020-2-27 05:41:13 | 显示全部楼层
我也遇到了同样的情况,
都是无法进入    if(status&RX_OK)    这一步;
回复 支持 反对

使用道具 举报

0

主题

7

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2020-6-1
在线时间
6 小时
发表于 2020-12-26 20:12:23 | 显示全部楼层
正点原子 发表于 2013-8-3 10:33
回复【楼主位】1756143812:
---------------------------------
直接下载我们的例程测试的么?

我的f407探索者直接从解压包里拿出来,还是不能用 说检测不到
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-1 08:34

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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