He encontrado un problema al intentar utilizar el escudo NFC para mi placa STM32. Soy muy nuevo en todo esto y sé que debería comenzar con algo más fácil (ya ordené arduino), pero este es el trato:
No sé mucho acerca de la programación de estas tarjetas ni nada en general, por lo que instalé mi tarjeta en el compilador mbed y busqué ejemplos de protección NFC compatibles. No pude encontrar nada que se ajustara específicamente, así que esto es lo que intenté:
#include <SPI.h>
#include <PN532_SPI.h>
#include <PN532.h>
#include <NfcAdapter.h>
#include "mbed.h"
PN532_SPI pn532spi(SPI, 10);
NfcAdapter nfc = NfcAdapter(pn532spi);
DigitalOut myled(LED1);
Serial pc(SERIAL_TX, SERIAL_RX);
void setup(void) {
pc.printf("NDEF Reader");
nfc.begin();
}
void loop(void) {
pc.printf("\nScan a NFC tag\n");
if (nfc.tagPresent())
{
NfcTag tag = nfc.read();
tag.print();
myled = !myled;
delay(500);
myled = !myled;
}
delay(5000);
}
Y de inmediato, este código no se compiló, error en la séptima línea PN532_SPI pn532spi(SPI, 10);
diciendo Error: Expected a type specifier in "main.cpp", Line: 7, Col: 26
.
Desde entonces he investigado un poco y es totalmente posible que este código no sea compatible con mi placa (ya que ni siquiera sé qué interfaz de chip / objeto [PN532, MF522, ST25R3911B si es que es la misma categoría, ...] para usar), sin embargo todavía no entiendo una cosa:
¿Por qué el constructor PN532_SPI
no acepta el SPI?
Intenté encontrar otro código de ejemplo para este escudo NFC en el sitio web oficial y ninguno de ellos estaba disponible para mi tablero. Hay algunos archivos hal_conf.c e it.c en el código fuente para otras placas, pero no para la mía.
El sitio web oficial indica que esta placa debería ser compatible y pude encender y apagar con éxito los indicadores LED de la pantalla NFC, por lo que no debería haber ningún problema en el hardware, solo el código.