Reading tag data does not work when disabling IRQ for protection, using platformProtectST25RComm().
I have a problem when I try to read the tag content.
Detecting the NFCA tag and reading UID etc. works fine.
But then I want to read the content of the tag using:
C_NFC_DataExchange( u8RxBankNumber)
This always just returns all 0's.
I have found a way to make it work though:
If I don't use the protection of the ST25 communication, it works well.
The ST25 IRQ is wired to MCU EXTI 14, which is part of EXTI15..10 interrupt.
When I disable this interrupt during communication to protect the device (see below), it does not work.
If I disable a random unused EXTI, and thus NOT protecting the ST25, it works well:
In platform.h:
Defining the NFC IRQ as a random/wrong unused EXTI, it works:
#define IRQ_ST25R_EXTI_IRQn EXTI0_IRQn
But when I define the correct EXTI used, it doesnot work, and I read all 0x00's:
#define IRQ_ST25R_EXTI_IRQn EXTI15_10_IRQn
I have no other EXTI on the EXTI15..10 ISR.
I can't figure out why this happens.
Thanks
NFC device: ST25R3918
MCU: STM32H730
Ps.: It worked well using EXTI10, which was used on the first revision PCB
The problem is on a new PCB revision where we use EXTI14.
I am not sure this is important, but maybe...
