Skip to main content
Associate III
January 16, 2024
Solved

Write/read from NFC tag

  • January 16, 2024
  • 2 replies
  • 1881 views

Hi, 

I am new to NFC and trying to make writing/reading from an NFC work.

I would like to read/write to st25tv tag and I use st25r39 reader IC. 

I have successfully ported the RFAL and NDEF library provided by ST. I have used ndef_demo example to start with. I run the application and was expecting to enter the if loop as shown below. Unfortunately nothing is happening.

 

Luke_abc_1-1705422347904.png

Also, the IRQ pin of st25r39 is not connected to the MCU. Does RFAL library needs this pin to be connected to the MCU ? Can the RFAL library work without this pin ?

This topic has been closed for replies.
Best answer by Ulysses HERNIOSUS

Hi,

no we don't have a reference for this scenario but such can be achieved by changing functions st25R391xWaitForInterruptTimed() and st25R391xGetInterrupt() to not look at the global variable but to always issue a read of the interrupt status registers.

Few other customers have implemented such in the past at well. But it will cause heavy traffic on SPI and is very inconvenient for debugging using logic analyzer.

 

BR, Ulysses

 

2 replies

Brian TIDAL
Technical Moderator
January 16, 2024

Hi,

Using the IRQ pin is the preferred approach (in that case the ST25R39xx ISR should be called inside the interrupt handler). All the demos provided on st.com for ST25R39xx are based on IRQ pin handling. See RF/NFC abstraction layer (RFAL) User Manual for details about the interrupt management.

Make sure to enable ST25R_SELFTEST and ST25R_SELFTEST_TIMER compilation switches to check that your porting is functional.

Rgds

BT

 

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
Luke_abcAuthor
Associate III
January 16, 2024

Hi @Brian TIDAL ,

Thank you for your reply. Can I please ask the alternative if the IRQ pin is not connected to the MCU ? Do you have any reference for this scenario ?

Ulysses HERNIOSUS
Technical Moderator
January 19, 2024

Hi,

no we don't have a reference for this scenario but such can be achieved by changing functions st25R391xWaitForInterruptTimed() and st25R391xGetInterrupt() to not look at the global variable but to always issue a read of the interrupt status registers.

Few other customers have implemented such in the past at well. But it will cause heavy traffic on SPI and is very inconvenient for debugging using logic analyzer.

 

BR, Ulysses

 

Luke_abcAuthor
Associate III
January 19, 2024

Thanks @Ulysses HERNIOSUS