MFRC522: прошивка неизвестна
Может ли кто-нибудь помочь мне, что означает этот скетч? Он всегда выводится в последовательный монитор:
Firmware Version: 0x1C = (unknown)
Scan PICC to see UID, SAK, type, and data blocks...
Это код библиотеки MFRC522, которую я использую:
#include <SPI.h>
#include <MFRC522.h>
constexpr uint8_t RST_PIN = 9; // Настраивается, см. типичное расположение выводов выше
constexpr uint8_t SS_PIN = 10; // Настраивается, см. типичное расположение выводов выше
MFRC522 mfrc522(SS_PIN, RST_PIN); // Создаем экземпляр MFRC522
void setup() {
Serial.begin(9600); // Инициализируем последовательную связь с ПК
while (!Serial); // Ничего не делать, если последовательный порт не открыт (добавлено для Arduino на базе ATMEGA32U4)
SPI.begin(); // Инициируем шину SPI
mfrc522.PCD_Init(); // Инициализация MFRC522
mfrc522.PCD_DumpVersionToSerial(); // Показать сведения о PCD — сведения о считывателе карт MFRC522
Serial.println(F("Scan PICC to see UID, SAK, type, and data blocks..."));
}
void loop() {
// Ищем новые карты
if ( ! mfrc522.PICC_IsNewCardPresent()) {
return;
}
// Выбираем одну из карт
if ( ! mfrc522.PICC_ReadCardSerial()) {
return;
}
// Дамп отладочной информации о карте; PICC_HaltA() вызывается автоматически
mfrc522.PICC_DumpToSerial(&(mfrc522.uid));
}
@hotchongas, 👍0
Обсуждение2 ответа
Упоминание unknown
в строке вывода:
Firmware Version: 0x1C = (unknown)
это плохой знак.
Запустите пример firmware_check
, чтобы проверить это, прежде чем пытаться запустить другой код.
неизвестный
выводится строкой 1302 из MFRC522.cpp:
default: Serial.println(F(" = (unknown)"));
В примере firmware_check
указано < a href="https://github.com/miguelbalboa/rfid/blob/master/examples/firmware_check/firmware_check.ino#L49">строка 49:
Serial.println(F("Only known versions supported"));
Итак, ваше оборудование (например, устройство чтения) может не поддерживаться.
Единственное, что я могу посоветовать, это попробовать другую читалку. Также прочтите README, может там что-то есть, или свяжитесь с автором и/или < a href="https://github.com/miguelbalboa/rfid/issues">поднимите вопрос, чтобы узнать, можете ли вы получить поддержку для вашей версии прошивки (0x1C
), добавленной .
Поместите delay(5)
после
mfrc522.PCD_Init(); // Инициализация MFRC522
и он покажет правильную версию прошивки.
- Использование прерываний с RC522
- Проблема совместного использования MISO с несколькими RFID-считывателями RC522
- rfid_default_keys проверить с помощью RC522
- MFRC522 не сканируется карта
- RFID-RC522 не работает, горит красный светодиод
- Считывание одновременно RFID-МЕТКИ с помощью нескольких RFID-считывателей [MFRC522]
- Arduino Uno - Как записать персональные данные в NTAG213 с помощью RFID-RC522
- Отправка данных из ESP8266 в PHP
Код достаточно хорошо прокомментирован, что вам не понятно? Строка output
Firmware Version:
, очевидно, выводится функциейPCD_DumpVersionToSerial()
. Вы получаете какой-либо другой результат, кроме этого? Вы также должны увидетьОтсканируйте PICC, чтобы увидеть...
. Разве ты этого не видишь? Пожалуйста, будьте более точны и включите *несколько* дополнительных строк вывода, чтобы проиллюстрировать любое повторение вывода., @Greenonlineда, он также выводится, но считыватель не читает ни карту RFID, ни ключ RFID, поэтому я предположил, что это была ошибка, @hotchongas
Попробуйте запустить пример
firmware_check
. В этом скетче говорится, что поддерживаются только известные версии (Serial.println(F("Поддерживаются только известные версии"));
), поэтому ваша первая строка вывода не сулит ничего хорошего, @GreenonlineПожалуйста, добавьте ссылку на свой пост, на библиотеку, которую вы используете. Это вот этот: https://github.com/miguelbalboa/rfid?, @Greenonline
да, это тот, который я использую., @hotchongas