Use Seeeduino Arch (or Arch Pro) + NFC Shield to read a Mifare Classic tag

Dependencies:   PN532 mbed

Fork of PN532_P2P by Yihui Xiong

Committer:
yihui
Date:
Thu Nov 21 07:11:15 2013 +0000
Revision:
2:b238c6772bc4
Parent:
1:a9df716f8a64
read a NFC tag

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yihui 0:21ac4fe1ccf8 1 #include "mbed.h"
yihui 2:b238c6772bc4 2 #include "PN532_SPI.h"
yihui 2:b238c6772bc4 3 #include "NfcAdapter.h"
yihui 0:21ac4fe1ccf8 4
yihui 2:b238c6772bc4 5 #if 0 // Using Seeeduino Arch
yihui 0:21ac4fe1ccf8 6 #define LOG(args...)
yihui 2:b238c6772bc4 7 SPI spi(P1_22, P1_21, P1_20); // SPI(mosi, miso, clk)
yihui 2:b238c6772bc4 8 PN532_SPI pn532spi(spi, P0_2);
yihui 2:b238c6772bc4 9
yihui 2:b238c6772bc4 10 #else // Using Arch Pro
yihui 0:21ac4fe1ccf8 11 #define LOG(args...) pc.printf(args)
yihui 2:b238c6772bc4 12 Serial pc(USBTX, USBRX);
yihui 2:b238c6772bc4 13 SPI spi(P0_18, P0_17, P0_15);
yihui 2:b238c6772bc4 14 PN532_SPI pn532spi(spi, P0_6);
yihui 0:21ac4fe1ccf8 15 #endif
yihui 0:21ac4fe1ccf8 16
yihui 2:b238c6772bc4 17 NfcAdapter nfc(pn532spi);
yihui 2:b238c6772bc4 18 DigitalOut led(LED1);
yihui 0:21ac4fe1ccf8 19
yihui 1:a9df716f8a64 20
yihui 2:b238c6772bc4 21 int main() {
yihui 2:b238c6772bc4 22 LOG("NDEF Reader\n");
yihui 2:b238c6772bc4 23 nfc.begin();
yihui 2:b238c6772bc4 24 while (1) {
yihui 2:b238c6772bc4 25 LOG("\nScan a NFC tag\n");
yihui 2:b238c6772bc4 26 if (nfc.tagPresent()) {
yihui 2:b238c6772bc4 27 NfcTag tag = nfc.read(); // tag.print() doesn't work yet
yihui 2:b238c6772bc4 28 if (tag.hasNdefMessage()) {
yihui 2:b238c6772bc4 29 LOG("Get a NDEF message.");
yihui 2:b238c6772bc4 30 NdefMessage message = tag.getNdefMessage();
yihui 0:21ac4fe1ccf8 31 }
yihui 0:21ac4fe1ccf8 32 }
yihui 2:b238c6772bc4 33 wait(5);
yihui 0:21ac4fe1ccf8 34 }
yihui 0:21ac4fe1ccf8 35 }