Use Seeeduino Arch (or Arch Pro) + NFC Shield to read a Mifare Classic tag
Fork of PN532_P2P by
main.cpp@2:b238c6772bc4, 2013-11-21 (annotated)
- 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?
User | Revision | Line number | New 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 | } |