OpenEdv-开源电子网

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

关于无线传输实验的一点疑问,望解答

[复制链接]

16

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
122
金钱
122
注册时间
2012-11-4
在线时间
1 小时
发表于 2013-7-12 23:39:01 | 显示全部楼层 |阅读模式
//检测24L01是否存在
//返回值:0,成功;1,失败
u8 NRF24L01_Check(void)
{
u8 buf[5]={0XA5,0XA5,0XA5,0XA5,0XA5};
u8 i;
SPIx_SetSpeed(SPI_SPEED_8); //spi速度为9Mhz(24L01的最大SPI时钟为10Mhz)    
NRF24L01_Write_Buf(WRITE_REG+TX_ADDR,buf,5);//写入5个字节的地址.
NRF24L01_Read_Buf(TX_ADDR,buf,5); //读出写入的地址  
for(i=0;i<5;i++)if(buf!=0XA5)break;   
if(i!=5)return 1;//检测24L01错误
return 0; //检测到24L01
}
其中,
NRF24L01_Write_Buf(WRITE_REG+TX_ADDR,buf,5);//写入5个字节的地址.
NRF24L01_Read_Buf(TX_ADDR,buf,5); //读出写入的地址  
这两句话写入的地址和读出的地址不是同一个,为什么能检验NRF24L01?
备注:WRITE_REG = 0x20
    TX_ADDR = 0x10

 
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-7-13 00:20:58 | 显示全部楼层
回复【楼主位】wumingdezu:
---------------------------------
WRITE_REG和TX_ADDR不是一个东西。
别搞错了,WRITE_REG是写指令。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

16

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
122
金钱
122
注册时间
2012-11-4
在线时间
1 小时
 楼主| 发表于 2013-7-13 01:01:17 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
那NRF24L01_Write_Buf(WRITE_REG+TX_ADDR,buf,5);//写入5个字节的地址
不是向物理地址为:WRITE_REG+TX_ADDR 的地方写入buf么。。。?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-7-13 11:30:17 | 显示全部楼层
回复【3楼】wumingdezu:
---------------------------------
你好好看看NRF24L01的数据手册,看看寄存器描述先.有时候,一个字节能表示很多内容,不一定都是地址啊!!!
我低5位表示地址,高三位用来表示其他信息不可以么?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-18 00:35

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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