智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2276|回复: 2
打印 上一主题 下一主题

[其他] 关于NRF24L01模块

[复制链接]

3

主题

74

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2331
威望
1228
贡献
551
兑换币
159
注册时间
2010-12-12
在线时间
276 小时
跳转到指定楼层
1#
发表于 2012-8-7 04:20:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
10贡献
不知道有没有大神用过这个模块,问题详细一点如下:
通过I/O口模拟SPI读写寄存器,有一个寄存器叫RF_SETUP的,是设置数据传送率,发射功率和低噪声放大增益的,默认是0x0f。通过调试,给该寄存器写数据之后并且读,读出来的是0x00,但是如果不写数据直接读,读出来的就是0x0f。该寄存器所有位都是可读可写的。其他的寄存器写进去什么就会读出来什么。换了新的模块也是这个问题。希望可以帮助解决一下。谢谢了。

2

主题

7

帖子

0

精华

高级会员

Rank: 4

积分
552
威望
348
贡献
80
兑换币
26
注册时间
2012-2-15
在线时间
62 小时
毕业学校
beijiao
2#
发表于 2012-8-16 18:27:49 | 只看该作者
应该是时序的问题吧!好好看下时序,应该可以调出来。
回复

使用道具 举报

1

主题

107

帖子

0

精华

高级会员

Rank: 4

积分
863
威望
572
贡献
193
兑换币
85
注册时间
2011-3-1
在线时间
49 小时
3#
发表于 2012-11-5 21:38:08 | 只看该作者
如果你要读一个寄存器的数据,首先写该寄存器后,当时该寄存器返回的不是寄存器里的值,你必须再写一次0,才能读取那个寄存器的数据。
unsigned char SPI_Read(unsigned char reg)
{
        unsigned char data;       
        CSN = 0;
        SPI_RW(reg);                                                            
        data  = SPI_RW(0);                                                            
        CSN = 1;
        return data;                                                               
}

读寄存器数据代码
回复

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-9-28 01:17 , Processed in 0.076675 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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