You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

树莓派4B连接RC522 RFID读卡器无法读卡及SPI通信异常求助

RC522 SPI通信异常(发送0xAA返回0)且无法读卡排查方案

问题背景

树莓派4B运行Debian 11(bullseye),按教程完成RC522接线,SPI已启用(lsmod可查看到spi_bcm2835模块),SPI环回测试正常,但使用spidev发送0xAA始终收到[0],且无法识别任何RFID标签。

测试代码:

import spidev
import time

spi = spidev.SpiDev()
spi.open(0, 0)  # Open SPI bus 0, device 0

try:
    while True:
        data = spi.xfer2([0xAA])  # Send 0xAA over SPI
        print("Received:", data)
        time.sleep(1)

except KeyboardInterrupt:
    pass

finally:
    spi.close()

预期输出:

Received: [0xAA]
Received: [0xAA]
...

实际输出:

Received: [0]
Received: [0]
...

排查与解决步骤

1. 重新核对硬件接线

RC522的引脚对应极易出错,重点确认:

  • SDA(CS):必须接树莓派CE0(GPIO8)或CE1(GPIO7),对应代码中spi.open(0,0)(CE0)或spi.open(0,1)(CE1),严禁接错引脚
  • SCK:接GPIO11(SPI0 SCLK)
  • MOSI:接GPIO10(SPI0 MOSI)
  • MISO:接GPIO9(SPI0 MISO)
  • GND:必须与树莓派共地,避免电平偏移导致通信失败
  • VCC:优先用3.3V供电,部分模块支持5V,但树莓派3.3V引脚更匹配模块电平

2. 修正SPI通信参数

RC522对SPI参数有固定要求,默认spidev参数不匹配会导致通信异常,需手动设置:

import spidev
import time

spi = spidev.SpiDev()
spi.open(0, 0)
spi.max_speed_hz = 1000000  # 设为1MHz,兼容多数RC522模块
spi.mode = 0  # SPI模式0(CPOL=0,CPHA=0)
spi.lsbfirst = False  # 高位优先传输

try:
    while True:
        data = spi.xfer2([0xAA])
        print("Received:", data)
        time.sleep(1)

except KeyboardInterrupt:
    pass

finally:
    spi.close()

3. 排查硬件故障

  • 更换优质杜邦线,劣质线材易出现信号衰减或隐性短路
  • 交叉验证模块:用其他树莓派或开发板测试RC522是否正常工作
  • 用万用表检测树莓派SPI引脚电平,确认信号输出正常

4. 使用成熟RC522库替代裸spidev

直接操作spidev需严格遵循RC522通信协议,建议用现成库简化开发:

  1. 安装依赖:
sudo apt-get update && sudo apt-get install python3-pip
pip3 install mfrc522
  1. 测试读卡代码:
from mfrc522 import SimpleMFRC522
import time

reader = SimpleMFRC522()

try:
    while True:
        print("等待RFID标签...")
        id, text = reader.read()
        print(f"标签ID: {id}")
        print(f"标签内容: {text}")
        time.sleep(2)
except KeyboardInterrupt:
    pass
finally:
    reader.quit()

5. 检查系统SPI配置

  • 打开/boot/config.txt确认SPI启用:
sudo nano /boot/config.txt

确保存在dtparam=spi=on且未被注释

  • 重启树莓派生效:
sudo reboot

内容的提问来源于stack exchange,提问作者Alexio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 19:55:32