Send NFC messages using NFC Shield V2.0 by SeeedStudio.
The program uses the standard Arduino shields SPI pins:
Signal | Pin |
SCK | D13 |
MISO | D12 |
MOSI | D11 |
CS | D10 |
Note that this shield doesn't use the standard SPI pins, but relies on non-standard 6-pin SPI header located at the shield bottom. To make it work you will have to bridge those pins as shown on the image (the green SPI pins).
Signal | Pin 1 | Pin 2 |
MOSI | D11 | SPI4 |
MISO | D12 | SPI1 |
SCK | D13 | SPI3 |
Diff: main.cpp
- Revision:
- 0:e403d7000b50
- Child:
- 2:f0e840a179ff
diff -r 000000000000 -r e403d7000b50 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Tue Mar 25 16:48:28 2014 +0000 @@ -0,0 +1,40 @@ +#include "mbed.h" +#include "PN532_SPI.h" +#include "snep.h" +#include "NdefMessage.h" + +Serial pc(USBTX, USBRX); + +uint8_t ndefBuf[128]; + +int main() +{ + wait(2); + + pc.printf("Initializing - "); + SPI spi(D11, D12, D13); + PN532_SPI pn532spi(spi, D10); + SNEP nfc(pn532spi); + pc.printf("Done\r\n"); + + while (1) { + pc.printf("Sending message - "); + NdefMessage message = NdefMessage(); + message.addTextRecord("mbed NFC shield"); + message.addUriRecord("http://www.seeedstudio.com"); + int messageSize = message.getEncodedSize(); + if (messageSize > sizeof(ndefBuf)) { + pc.printf("ndefBuf is too small\r\n"); + while (1) { + } + } + message.encode(ndefBuf); + if (0 >= nfc.write(ndefBuf, messageSize)) { + pc.printf("Failed\r\n"); + } else { + pc.printf("Success\r\n"); + } + + wait(3); + } +} \ No newline at end of file