Send NFC messages using NFC Shield V2.0 by SeeedStudio.

Dependencies:   PN532 mbed

The program uses the standard Arduino shields SPI pins:

SignalPin
SCKD13
MISOD12
MOSID11
CSD10

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).

SignalPin 1Pin 2
MOSID11SPI4
MISOD12SPI1
SCKD13SPI3
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