我在我的 Raspberry Pi 上运行一个带有中断引脚的 NFC 阅读器,我编写了一个脚本来让它运行。到目前为止,它工作得很好,但在某些情况下,SPI xfer 崩溃并出现OSError: [Errno 9] Bad file descriptor
当我收到 GPIO 引脚的中断时,整个 SPI 部分都会发生 - 这可能是个问题吗?我知道代码不应该在中断上做太多事情,这可能会导致崩溃。
在这里分享的代码有点多,但我正在使用带有 Adafruit 库的 PN532 芯片https://github.com/adafruit/Adafruit_Python_PN532 - 我知道它已被弃用,但与 C 实现的差异非常小。我正在运行pn532.read_passive_target(timeout=0.2)
从该 NFC 芯片读取 UID 并使其扫描 NFC 卡。
它工作得很好,直到我经常这样做。为了测试,我一次又一次地将卡片放在阅读器上,没有任何延迟。大约5-10次后它崩溃了。
任何想法如何解决这个问题?很抱歉对错误的错误描述。