Hey, i am working with a adafruit nfc/rfid shield. I am trying to send a value from pc to arduino through serial.read() but i keep getting this error. what am i doing wrong?
//I2C:
#include <PN532_I2C.h>
#define IRQ 2
#define RESET 3
PN532 * board = new PN532_I2C(IRQ, RESET);
#include <Wire.h>
//end I2C -->
#include <Mifare.h>
Mifare mifare;
//init keys for reading classic
uint8_t Mifare::useKey = KEY_B;
uint8_t Mifare::keyA[6] = {0xD3, 0xF7, 0xD3, 0xF7, 0xD3, 0xF7 };
uint8_t Mifare::keyB[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF };
uint32_t Mifare::cardType = 0; //will get overwritten if it finds a different card
#include <NDEF.h>
#define PAYLOAD_SIZE 236
uint8_t payload[PAYLOAD_SIZE] = {};
void setup(void) {
Serial.begin(115200);
board->begin();
uint32_t versiondata = board->getFirmwareVersion();
if (! versiondata) {
Serial.println("err");
while (1); // halt
}
// Got ok data, print it out!
Serial.print("5");Serial.println((versiondata>>24) & 0xFF, HEX);
// Serial.print("v: "); Serial.println((versiondata>>16) & 0xFF, DEC);
// Serial.println((versiondata>>8) & 0xFF, DEC);
// Serial.print("Supports "); Serial.println(versiondata & 0xFF, HEX);
if(mifare.SAMConfig()){
Serial.println("ok");
}else{
Serial.println("er");
}
}
void loop(void) {
uint8_t * uid = mifare.readTarget();
if(uid){
memset(payload, 0, PAYLOAD_SIZE);
//write plain text
byte stuff = Serial.read();
memcpy(payload, stuff , 17);
uint8_t len = NDEF().encode_TEXT((uint8_t *)"en", payload);
boolean success = mifare.writePayload(payload, len);
if(success == 1)
{
Serial.print ("success printing ");
Serial.println (stuff);
}
else
{
Serial.println ("fail");
}
}
delay(5000);
}