RC522 寻卡阶段读卡类型和卡号错误

一、现象

使用 stm32 和 rc522 读取卡片:
卡类型错误
使用手机读取卡片:
手机读取
可以看到,卡类型只有第一个字节是正确的,卡号更特殊,像是从 0 扇区跳着读取了内存

二、解决方法

对着网上多个 rc522 代码一行行检查,没效果,从某创买正品芯片,没效果,调整 spi 分频到 256,通信速率就剩一百多k也没有效果。

不论如何,至少读取到了一部分正确的内容,问题应该还是在软件上。尝试在读写 rc522 FIFO 过程中添加延时,问题解决:
延时
其他有读写 FIFO 的地方也得加上。
成功
卡类型、id 和 校验码均正确。

网上其他人的代码基本都是软件 SPI,速度更慢,所以这个问题一直没被人发现,或者说即使发现无法读卡,也只能老老实实切换回软件 SPI,没有触及问题本质,官方手册也没找到说 FIFO 读取需要间隔多久。相当于你用的是 5G 网访问某度网盘。

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐