2024-08-30 05:09 AM - edited 2024-08-30 05:13 AM
Hello everyone,
I'm currently working with the ST25DV NFC tag and I've encountered an issue with configuring GPO (General Purpose Output) interrupts. My goal is to trigger interrupts using various GPO masks, but I've run into a problem where only 'ST25DV_GPO_FIELDCHANGE_MASK' mask seems to work. I configured this register with this function
CUSTOM_NFCTAG_ConfigIT(CUSTOM_NFCTAG_INSTANCE, ST25DV_GPO_ENABLE_MASK | ST25DV_GPO_FIELDCHANGE_MASK );
I also used other masks but they are not working. I know that I am changing the register because i can read the gpo register with
HAL_StatusTypeDef statuss = HAL_I2C_Mem_Read(&hi2c1, 0b1010111 << 1, 0x0, 2, &nfcPasswordd, 1, HAL_MAX_DELAY);
Maybe someone knows how I can configure the GPO to generate an interrupt when a message is sent to the mailbox, instead of when the field changes.
Solved! Go to Solution.
2024-08-30 05:52 AM
Hi sebastanst,
To generate an interrupt when receiving message to the mailbox you just need to add ST25DV_GPO_RFPUTMSG_MASK to the configIT parameter (or replace ST25DV_GPO_FIELDCHANGE_MASK with it). But to generate the interrupt from the GPO, the fast transfer mode must be enabled. Then using RF command to write to the mailbox should generate the pulse on GPO.
Another example, using ST25DV_GPO_RFWRITE_MASK will generate an interrupt after writing to the EEPROM from the RF (Fast transfer mode must be disabled)
Or using ST25DV_GPO_RFINTERRUPT_MASK, a pulse is emitted on GPO by sending the Manage GPO command on RF side.
For the GPO (and more accurately digital part of the component) to work properly the VCC pin must be powered during testing (only RF part is powered with the field).
Kind regards.
2024-08-30 05:52 AM
Hi sebastanst,
To generate an interrupt when receiving message to the mailbox you just need to add ST25DV_GPO_RFPUTMSG_MASK to the configIT parameter (or replace ST25DV_GPO_FIELDCHANGE_MASK with it). But to generate the interrupt from the GPO, the fast transfer mode must be enabled. Then using RF command to write to the mailbox should generate the pulse on GPO.
Another example, using ST25DV_GPO_RFWRITE_MASK will generate an interrupt after writing to the EEPROM from the RF (Fast transfer mode must be disabled)
Or using ST25DV_GPO_RFINTERRUPT_MASK, a pulse is emitted on GPO by sending the Manage GPO command on RF side.
For the GPO (and more accurately digital part of the component) to work properly the VCC pin must be powered during testing (only RF part is powered with the field).
Kind regards.