|
本人刚接触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周年了!感谢大家的支持与爱护!!
一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
|