/*----------------------------------------------------------------------------*/ #include "uart_hexascii.h" #include "oled_ssd1306.h" #include "cstr_hexascii.h" #include "frc522.h" #define APPTITLE "NMK322 RFID/OLED" /*----------------------------------------------------------------------------*/ void main(void) { __xdata cstr_t buff; /* default: 64-bytes long */ unsigned char temp, stat, loop, size; unsigned char pdat[FRC522_MAX_RXSIZE], reqa[2]; /** initialize */ cstr_init(&buff); uart_init(); i2c_init(); oled1306_init(); spi_init(); atqa = reqa; /* initialize mf contactless card reader */ /** say something... */ uart_puts("\n----------------\n"); uart_puts(APPTITLE); uart_puts("\n----------------\n\n"); oled1306_puts(APPTITLE); temp = frc522_init(); if (!temp||temp==0xff) { uart_puts("** Cannot find FRC522 hardware! Aborting!\n"); hang(); } uart_puts("FRC522 found. Firmware version is 0x"); uart_send_hexbyte(temp); uart_puts(".\n"); /** main loop */ while (1) { stat = frc522_scan(pdat,&size); if (stat==FRC522_OK) { uart_puts("## TAG("); uart_send_hexbyte(stat); uart_puts("|"); uart_send_hexbyte(reqa[0]); uart_puts(","); uart_send_hexbyte(reqa[1]); uart_puts("):"); cstr_null(&buff); for (loop=0;loop