У меня есть два RC522, подключенных через i2c.С ESP8266 этот код отлично работает, но Я хочу запустить его на ESP32 .
. Если я использую ESP32, они сканируют мой шесть или семь раз тег, а затем ничего не происходит.Я могу только реактивировать с программным сбросом, и после этого они сканируют только несколько раз теги, независимо от того, какое устройство (0x28 или 0x2B).Библиотека не совместима или что не так?
Вот мой код:
#include <Wire.h>
#include "MFRC522_I2C.h"
MFRC522 mfrc522(0x2B, 2);
MFRC522 mfrc522_2(0x28, 2);
void setup() {
Serial.begin(115200);
Wire.begin();
mfrc522.PCD_Init();
mfrc522_2.PCD_Init();
Serial.println(F("Scan UID"));
}
void loop() {
///////////////////////// DEV 1 ////////////////////////////////
if (mfrc522.PICC_IsNewCardPresent() && mfrc522.PICC_ReadCardSerial()) {
Serial.print(F("Card UID:"));
for (byte i = 0; i < mfrc522.uid.size; i++) {
Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
Serial.print(mfrc522.uid.uidByte[i], HEX);
}
Serial.println();
}
///////////////////////// DEV 2 ////////////////////////////////
if (mfrc522_2.PICC_IsNewCardPresent() &&
mfrc522_2.PICC_ReadCardSerial()) {
Serial.print(F("Card UID:"));
for (byte i = 0; i < mfrc522_2.uid.size; i++) {
Serial.print(mfrc522_2.uid.uidByte[i] < 0x10 ? " 0" : " ");
Serial.print(mfrc522_2.uid.uidByte[i], HEX);
}
Serial.println();
}
}