2021-06-16 02:19 AM
Hi,
I'm currently trying to read and write EEPROM memory of a NTAG213.
Using X-NUCLEO-NFC03A1 and NUCLEO board the tag is detected as "ISO14443A/NFC-A".
Looking at source code example there is no method to read/write EEPROM data for this kind of tag (only for NFCDEP and T4T).
I can see that both read/write method implemented in demo code use the function demoTransceiveBlocking to exchange data.
My question is:
Is it possible to use this function with my kind of tag to read/write data? My guess is that I need to adapt data sent to tag according NTAG213/215/216 specification, but I'd like to be sure.
Thanks
Sylvain SERRE
Solved! Go to Solution.
2021-06-16 02:38 AM
Hi Sylvain,
these tags are Type 2 tags. The RFAL library of the STM32CubeExpansion_NFC3_V2.1.0 provides support for T2T READ, T2T WRITE and T2T SECTOR SELECT commands in rfal_t2t.c module. This can be used to read/write the various blocks of your Type 2 tags. You will find example of those T2T read/write API in the ndef_t2t.c module.
Note that the STM32CubeExpansion_NFC3_V2.1.0 provides as well an NDEF demo that can read or write NDEF message from/to various tag type including Type 2 tags. See UM2045 for more information about this demo. Make sure your tag is NDEF formatted (you can use for example Android NFC app to format this tag).
Rgds
BT
2021-06-16 02:38 AM
Hi Sylvain,
these tags are Type 2 tags. The RFAL library of the STM32CubeExpansion_NFC3_V2.1.0 provides support for T2T READ, T2T WRITE and T2T SECTOR SELECT commands in rfal_t2t.c module. This can be used to read/write the various blocks of your Type 2 tags. You will find example of those T2T read/write API in the ndef_t2t.c module.
Note that the STM32CubeExpansion_NFC3_V2.1.0 provides as well an NDEF demo that can read or write NDEF message from/to various tag type including Type 2 tags. See UM2045 for more information about this demo. Make sure your tag is NDEF formatted (you can use for example Android NFC app to format this tag).
Rgds
BT
2021-06-16 03:22 AM
Hi Brian,
Thank you so much for pointing me the good direction. I quickly tested rfalT2TPollerRead() in my code and values returned perfectly matches tag specification. I guess that writing will be as simple as reading from now on.
Thank again
Sylvain
2021-06-16 04:30 AM
Hi Sylvain,
yes writing will be as simple as reading. Note: blocks 0 to 3 have specific write conditions (i.e. write protected or OTP), in particular, bits in block #3 (Capability Container) cannot be reverted to 0 once set to 1.
Rgds
BT