Olá Pessoal, estou trabalhando em um projeto pessoal e nele estou usando a lib
PN5180-Library, para leitura do sensor FreeStyle Libre. O código funcionava sem esse erro há uns 2 meses atrás, voltei a trabalhar nele e agora esta dando o seguinte erro.
O que estou usando: ESP32, PN5180 com a lib mencionada a cima.
D:\_Projects\iot\nfc-esp32-pn5180\nfc-esp32-pn5180.ino: In function 'void loop()':
D:\_Projects\iot\nfc-esp32-pn5180\nfc-esp32-pn5180.ino:61:32: error: cannot convert 'ISO15693ErrorCode' to 'ISO15693ErrorCode* (*)()'
61 | Serial.print(nfc.strerror(rc));
| ^~
| |
| ISO15693ErrorCode
In file included from c:\users\user\appdata\local\arduino15\packages\esp32\tools\esp-x32\2302\xtensa-esp32-elf\sys-include\errno.h:9,
from C:\Users\User\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-33fbade6\esp32/include/newlib/platform_include/errno.h:10,
from C:\Users\User\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-33fbade6\esp32/include/lwip/port/esp32xx/include/arch/cc.h:12,
from C:\Users\User\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-33fbade6\esp32/include/lwip/lwip/src/include/lwip/arch.h:48,
from C:\Users\User\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-33fbade6\esp32/include/lwip/lwip/src/include/lwip/debug.h:40,
from C:\Users\User\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-33fbade6\esp32/include/lwip/lwip/src/include/lwip/opt.h:52,
from C:\Users\User\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-33fbade6\esp32/include/lwip/lwip/src/include/lwip/ip_addr.h:40,
from C:\Users\User\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.5\cores\esp32/IPAddress.h:25,
from C:\Users\User\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.5\cores\esp32/Arduino.h:196,
from C:\Users\User\AppData\Local\Temp\arduino\sketches\E7AE8DAD514D68427A21B455B3E0B512\sketch\nfc-esp32-pn5180.ino.cpp:1:
c:\Users\User\Documents\Arduino\libraries\PN5180-Library/PN5180ISO15693.h:67:57: note: initializing argument 1 of 'const __FlashStringHelper* PN5180ISO15693::strerror(ISO15693ErrorCode* (*)())'
67 | const __FlashStringHelper *strerror(ISO15693ErrorCode errno);
| ^
exit status 1
Compilation error: cannot convert 'ISO15693ErrorCode' to 'ISO15693ErrorCode* (*)()'
O erro ocorre na chamado para mostrar o erro.
Serial.print(nfc.strerror(rc));
Código:
#include <PN5180ISO15693.h>
const byte nssPin = 5;
const byte busyPin = 16;
const byte resetPin = 17;
PN5180ISO15693 nfc(nssPin, busyPin, resetPin);
void setup() {
Serial.begin(115200);
Serial.println("Inicializando o leitor...");
nfc.begin();
Serial.println("Redefinindo o leitor...");
nfc.reset();
Serial.println("Habilitando o campo NFC...");
uint8_t productVersion[2];
nfc.readEEprom(PRODUCT_VERSION, productVersion, sizeof(productVersion));
if (0xff == productVersion[1]) {
Serial.println(F("Falha na inicialização do leitor!"));
Serial.println(F("Pressione reset para tentar novamente..."));
Serial.flush();
exit(-1);
}
Serial.println("Pronto para utilização...");
nfc.setupRF();
}
void loop() {
uint8_t uid[8];
ISO15693ErrorCode rc = nfc.getInventory(uid);
if (rc == ISO15693_EC_OK) {
Serial.print(F("Dispositivo NFC Detectado... ID: "));
for (int j = 0; j < sizeof(uid); j++) {
Serial.print(uid[j], HEX);
Serial.print(" ");
}
Serial.println();
} else {
Serial.print(nfc.strerror(rc));
}
delay(1000);
}
Esquema pin.