找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4787|回复: 6
收起左侧

有关RC522的卡验证问题,一直放回的MI_ERR 0Xbb,而不是MI_OK 0x26

[复制链接]
ID:310349 发表于 2019-1-13 15:10 | 显示全部楼层 |阅读模式
在验证卡片密码时,一直放回的MI_ERR 0Xbb,而不是MI_OK  0x26。
                                
                          status=PcdAuthState(PICC_AUTHENT1A,7,KEYA,ucArray_ID);
                                //PICC_AUTHENT1验证A密码
                                //7 第一扇区的第三块
                                //KEYA {0xff,0xff,0xff,0xff,0xff,0xff};初始值。
                                //ucArray_ID 卡片的ID。
                                
一开始以为是输入的值不对,可是今天我参考网上找的一份程序,这份是可以成功验证的,下面是他的程序。
                            status = PcdAuthState(KEYA, (snr*4+3), DefaultKey, SelectedSnr);
                           //KEYA  验证A密码
                           //snr=1;
                           //DefaultKey[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};

                            //SelectedSnr ID


有大佬能解决吗

回复

使用道具 举报

ID:174087 发表于 2019-1-14 09:51 | 显示全部楼层
先排除是不是通信不成功,可以尝试读取模块版本号,如果是0x92说明SPI通信正常,如果不是就回去检查SPI通信程序,再然后他这一套标准代码一般都是一样的不需要改变的,检查一下接线是否正确,然后读卡距离2-3cm,读、写寄存器那里也可以加一个微秒级的延时,大概2、3微秒
回复

使用道具 举报

ID:310349 发表于 2019-1-14 13:30 | 显示全部楼层
woshige 发表于 2019-1-14 09:51
先排除是不是通信不成功,可以尝试读取模块版本号,如果是0x92说明SPI通信正常,如果不是就回去检查SPI通信 ...

模块版本号是读取卡的ID号码?0X92没有找到这个数据。
回复

使用道具 举报

ID:174087 发表于 2019-1-15 09:24 | 显示全部楼层
147wzl 发表于 2019-1-14 13:30
模块版本号是读取卡的ID号码?0X92没有找到这个数据。

不是,模块版本号是RC522模块返回的一个值,ReadRawRC(VersionReg);这是排除你通信不成功的一个方法,通信成功了再去检查改动其他代码
回复

使用道具 举报

ID:310349 发表于 2019-1-15 16:55 | 显示全部楼层
woshige 发表于 2019-1-15 09:24
不是,模块版本号是RC522模块返回的一个值,ReadRawRC(VersionReg);这是排除你通信不成功的一个方法,通 ...

成功返回了0X92,通信信没有问题。会不会卡不是空白卡。可是我买来就没怎么用过
回复

使用道具 举报

ID:310349 发表于 2019-1-15 22:41 | 显示全部楼层
这是我的程序附件,有兴趣的可以下来看看哪里有问题。谢谢啦

STM32 F103RC522 测试.7z

271.38 KB, 下载次数: 49

回复

使用道具 举报

ID:839933 发表于 2020-11-23 17:08 | 显示全部楼层
楼主的问题解决了吗?我也是返回0Xbb
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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