搜索
bottom↓
回复: 6

【求助】本人刚开始玩RC522模块,发现寄存器不可改变

[复制链接]

出0入0汤圆

发表于 2014-1-29 13:13:09 | 显示全部楼层 |阅读模式
本人刚接触RFID,入手了一块RC522的模块,这个模块是用SPI驱动的~
刚写好了SPI的协议,想尝试对RC522的寄存器进行操作,却发现无法修改寄存器的值,求助一下,可能出现了什么问题?

举个例子:
我打算操作地址为0x14的寄存器(TxControlReg):
在手册上,他是一个可读可写的寄存器,复位的值为0x80

我打算读取他的值,然后写一个0x83给他,修改一下,然后再读一下~
SPI_DAT=RC522_read(TxControlReg);
RC522_write(TxControlReg,0x83);
SPI_DAT=RC522_read(TxControlReg);
通过逻辑分析仪我们可以看到他的时序逻辑:

发现我读出来的这个寄存器的值是0x80,是他复位的值,但是我写进去以后读出来的还是0x80,没有被改变?有谁知道是为什么吗?求解答?

PS:读的时候,寄存器地址  (0x14<<1)|0x80=0xA8
       写的时候,寄存器地址 (0x14<<1)&0x7f=0x28

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2014-1-29 15:08:18 | 显示全部楼层
好复杂的样子                     

出0入0汤圆

 楼主| 发表于 2014-1-29 16:30:29 | 显示全部楼层
解决了~
没有注意看在手册的后面还有这么一段话:
在一整个数据流中,NSS也就是片选必须一直保持低,以便连续发送多个字节~
再看我之前的时序:

我发送完一个字节NSS就拉高了,导致我在一个数据流中的两次读写SPI别识别成了两次独立的操作。也许在SPI读操作的时候,发送完地址字节,所需要读出的数已经放到了SPI的BUF上,所以再一次操作就会把数据读出,所以在读操作的时候没有发生问题;但是在写操作的时候,由于要求连续的字节读写,所以当我将写操作的地址字节写完拉高NSS的时候,RC522认为写操作完成了,故没有将我后面的数据写入~
因此将一个操作(数据流)中NSS一直保持低,就解决了上述的问题:
新的时序如下:


可以发现我的我所写入的数据0x83已经成功的写入了寄存器~
这个问题到此结束~~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2014-3-7 20:17:20 | 显示全部楼层
大神,膜拜!请问一下你这个逻辑分析仪是设备还是软件,求软件

出0入0汤圆

 楼主| 发表于 2014-3-7 23:27:43 | 显示全部楼层
sonbai 发表于 2014-3-7 20:17
大神,膜拜!请问一下你这个逻辑分析仪是设备还是软件,求软件

是类似于虚拟仪器的一种东西,要配合硬件使用的一套软件~淘宝上很多你搜一下就好,这里我就不给链接了,不然有打广告的嫌疑了,呵呵~

出0入0汤圆

发表于 2014-3-18 16:26:40 | 显示全部楼层
谢谢楼主,解决了我的大问题!

出0入0汤圆

 楼主| 发表于 2014-3-20 14:46:01 | 显示全部楼层
散装805 发表于 2014-3-18 16:26
谢谢楼主,解决了我的大问题!

大家互相讨论嘛~呵呵~
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 04:03

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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