Я использую NFC Reader с контактом прерывания на Raspberry Pi, и я написал скрипт для его запуска. Пока что это работает довольно хорошо, но в некоторых случаях SPI xfer падает с OSError: [Errno 9] Bad file descriptor
Вся часть SPI происходит, когда я получаю прерывание GPIO Pin - это может быть проблемой? Я знаю, что код не должен делать слишком много для прерывания, и это может привести к этому сбою.
Это слишком много кода, чтобы поделиться здесь, но я использую чип PN532 с библиотекой Adafruit https://github.com/adafruit/Adafruit_Python_PN532 - я знаю, что это устарело, но разница в реализации C очень мала. Я использую pn532.read_passive_target(timeout=0.2)
, чтобы прочитать UID с этого чипа NFC и заставить его сканировать карты NFC.
Это работает довольно хорошо, пока я не сделаю это слишком часто. Для тестирования я снова и снова прижимаю карту к ридеру без каких-либо задержек. Примерно через 5-10 раз он падает.
Есть идеи, как это исправить? Извините за плохое описание ошибки.