This program demonstrates how to use a MicroNFCBoard as a peripheral to read and decode NFC tags.

Dependencies:   MicroNFCBoardAPI mbed

Fork of MicroNFCBoardAPI_Blink by AppNearMe Official

Revision:
2:b14afa59da26
Parent:
1:5b804c0c8aa8
diff -r 5b804c0c8aa8 -r b14afa59da26 main.cpp
--- a/main.cpp	Thu May 14 16:43:09 2015 +0000
+++ b/main.cpp	Thu May 14 17:29:46 2015 +0000
@@ -23,11 +23,50 @@
 
 int main() {
     nfc.init();
-    bool b = true;
-    for(int i = 0; i < 10; i++)
+
+    //Start polling
+    while(true)
     {
-        nfc.setLeds(b, !b);
-        wait_ms(200);
-        b = !b;
+        printf("Poll\r\n");
+        nfc.startPolling(true, false, false);
+
+        while( nfc.polling() );
+
+        if( nfc.type2Tag() )
+        {
+            printf("Connected to type 2 tag\r\n");
+        }
+        else
+        {
+          continue;
+        }
+
+        bool ndefRead = false;
+        bool ndefReadingStarted = false;
+        while( nfc.connected() )
+        {
+            if( !ndefReadingStarted && nfc.ndefReadable() )
+            {
+              printf("Reading tag\r\n");
+              ndefReadingStarted = true;
+              nfc.ndefRead();
+            }
+            if( !ndefRead && nfc.ndefPresent() )
+            {
+                printf("Got message\r\n");
+                char buf[512];
+                if( nfc.readNdefUri(buf, sizeof(buf)) )
+                {
+                  printf("Got URI: %s\r\n", buf);
+                }
+                if( nfc.readNdefText(buf, sizeof(buf)) )
+                {
+                  printf("Got Text: %s\r\n", buf);
+                }
+                ndefRead = true;
+            }
+        }
+
+        printf("Disconnected\r\n");
     }
 }