Skip to main content
Explorer
February 7, 2023
Solved

Is platformProtectST25RComm() just disabling global interrupts?

  • February 7, 2023
  • 1 reply
  • 686 views

Hello, I 'm working on porting the RFAL for a ST25R3916B application. I read through the description of platformProtectST25RComm() but I just wanted to clarify: is this disabling all interrupts on the MCU so that nothing will mess up the SPI communication, or is this disabling the interrupt line coming from the ST25R3916B?

    This topic has been closed for replies.
    Best answer by Brian TIDAL

    Hi,

    when an interrupt is coming from the ST25R3916B, the related ISR reads the interrupt registers through SPI. platformProtectST25RComm() is used to avoid SPI communication mess up between the main task and the ISR.

    As well, the ISR updates st25r3916interrupt.status that is then used and cleared by the main task. platformProtectST25RIrqStatus is used to avoid concurrent access issue on st25r3916interrupt.status

    On STM32 MCU, platformProtectST25RComm/platformUnprotectST25RComm disables/enables the interrupt line coming from the ST25R3916B.

    Fell free to provide more information about your MCU.

    Rgds

    BT

    1 reply

    Technical Moderator
    February 8, 2023

    Hi,

    when an interrupt is coming from the ST25R3916B, the related ISR reads the interrupt registers through SPI. platformProtectST25RComm() is used to avoid SPI communication mess up between the main task and the ISR.

    As well, the ISR updates st25r3916interrupt.status that is then used and cleared by the main task. platformProtectST25RIrqStatus is used to avoid concurrent access issue on st25r3916interrupt.status

    On STM32 MCU, platformProtectST25RComm/platformUnprotectST25RComm disables/enables the interrupt line coming from the ST25R3916B.

    Fell free to provide more information about your MCU.

    Rgds

    BT