![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
NB-IoT
Dependencies: NDefLib X_NUCLEO_NFC02A1 hdc1080 mbed
Fork of HelloWorld_NFC02A1 by
Diff: main.cpp
- Revision:
- 8:9bdd16ebccfb
- Parent:
- 7:699836375630
- Child:
- 9:0bd2f0c13d3d
diff -r 699836375630 -r 9bdd16ebccfb main.cpp --- a/main.cpp Thu Sep 29 05:48:44 2016 +0000 +++ b/main.cpp Fri Sep 30 11:46:24 2016 +0000 @@ -42,9 +42,54 @@ #include "m24lr.h" #include "NDefLib/NDefNfcTag.h" #include "NDefLib/RecordType/RecordURI.h" + +#if 0 +/*----------------------------------------------------------------------------*/ +static volatile bool buttonPress=false; // true when the user press the message + +static void setButtonPress(){ + buttonPress=true; +}//if buttonPress + + static void readAndPrintNfcTag(NDefLib::NDefNfcTag &tag){ + using namespace NDefLib; + + if(tag.openSession() == true){ + printf("Open Session\r\n"); + NDefLib::Message readMsg; + + tag.read(&readMsg); + printf("Message Read\r\n"); + + if(readMsg.getNRecords()==0){ + printf("Error Read\r\n"); + }else{ + for(uint32_t i=0;i<readMsg.getNRecords();i++){ + Record *r = readMsg[i]; + // printRecord(r); + //----- + RecordURI *const temp = (RecordURI*)r; + printf("Read uriId: %d\r\n",temp->getUriId()); + printf("Read uriType: %s\r\n",temp->getUriType().c_str()); + printf("Read uriContent: %s\r\n",temp->getContent().c_str()); + //------ + delete r; + }//for + }//if-else + + tag.closeSession(); + printf("Close session\r\n"); + }else{ + printf("Error open read Session\n\r"); + } +} +/*----------------------------------------------------------------------------*/ +#endif + /** * Write a Ndef URI message linking to st.com site. */ + int main(void) { @@ -64,7 +109,7 @@ printf("System Initialization done: !\n\r"); /*open the i2c session with the nfc chip*/ - if(tag.openSession() == NFC_SUCCESS) + if(tag.openSession() == true) { printf("Session opened\n\r"); nfcNucleo->getLed1()=1; @@ -75,16 +120,19 @@ msg.addRecord(&rUri); /*write the tag*/ - if(tag.write(msg) == NDEF_OK){ + if(tag.write(msg) == true) + { printf("Tag written\n\r"); nfcNucleo->getLed2()=1; - }else{ + } + else + { printf("Error writing \n\r"); nfcNucleo->getLed1()=0; }//if-else /*close the i2c session*/ - if(tag.closeSession() == NFC_SUCCESS) + if(tag.closeSession() == true) { printf("Session closed\n\r"); nfcNucleo->getLed3()=1; @@ -97,9 +145,30 @@ } else printf("Error opening the session\n\r"); + +#if 0 +/*----------------------------------------------------------------------------*/ + /* enable the button */ + InterruptIn mybutton(USER_BUTTON); + + mybutton.fall(setButtonPress); + + /*each second change the led status and see if the user press the button*/ + while(1) + { + if(buttonPress) + { + /*write the read message on console*/ + readAndPrintNfcTag(tag); + buttonPress=false; + } + } +/*----------------------------------------------------------------------------*/ +#endif + } + /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ -