This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

query regarding EFM32G280F128

Hello,

I am using EFM32G280F128 controller. In our project we have 16 Digital Inputs which are connected to PIN PA2 - PA13 and PC4,5,13 and 14 PINs of the controller.

The SCADA communicates with the controller using Modbus protocol and it continuously scans the slave(controller).

I am using USART0 for the communication between controller and the SCADA. I want to implement the DI on interrupt based so that whenever a DI changes, I will store the changed value in the modbus registers. This way I don't have to scan the GPIO continuously.

The priority of the USART0_RX_IRQHandler is 3. As the SCADA is continuously scanning the slave(sending message to controller using modbus read), all the time the flow is in the USART0_RX_IRQHandler.

Can ayone tell me which ISR to use for GPIO so that ISR will be called if there is a change in the DI channel value?

GPIO_EVEN_IRQHandler can be used for a single PIN(as per as I know) which is of higher priority then the USART0. So how to map the 16 PINs to an ISR.

Please let me know.

Thanks in advance.

Regards, Anshuman