Other Parts Discussed in Thread: C2000WARE
TI Friends & Family,
Placing this inquiry from our customer on our shared E2E Forums in the event others have experienced this same debug behavior with PIE and SCIA/B:
I'm debugging SCI interrupt, ISR SCI-A ( communication to ESP32) and SCI-B ( modbus communication to Inverter ), which share the same PIE Acknowledge Interrupt group (INTERRUPT_ACK_GROUP9) by default.
I've noticed that when clearing the interrupt by issuing PIE ACK , sometimes one ISR is clearing the interrupt at group level and the other communication port will not able to detect a response. this usually happen after running 10+hr , possibly when both comm receive data at the same time( need more testing if that is the case)
Bellow is code snippiest for reference only
//
#define SCOMM2 SCIA_BASE //SCI used for serial communications interface 2(ESP32)
#define SCOMM2_RX_PIN 35 //Serial interface 0 transmit pin RX485
#define SCOMM2_TX_PIN 36 //Serial interface 1 transmit pin
#define MBCOMM SCIB_BASE //SCI used for modbus communications interface to inverter
#define MBCOMM_RX_PIN 11 //Modbus interface receive pin
#define MBCOMM_TX_PIN 10 //Modbus interface transmit pin
---------------------------------------------------------------
//Clear the interrupt MODBUS(SCI-B)
SCI_clearInterruptStatus(MBCOMM, SCI_INT_RXFF); // Clears SCI interrupt sources. RXFF
SCI_clearOverflowStatus(MBCOMM); // Clear the receive FIFO Overflow flag status
Interrupt_clearACKGroup(INTERRUPT_ACK_GROUP9); // Issue PIE ACK
-------------------------------------------------------------
//Clear the interrupt SCOMM2 (SCI-A)
SCI_clearInterruptStatus(SCOMM2, SCI_INT_RXFF);// // Clears SCI interrupt sources. RXFF
SCI_clearOverflowStatus(SCOMM2); // Clear the receive FIFO Overflow flag status
Interrupt_clearACKGroup(INTERRUPT_ACK_GROUP9);// Issue PIE ACK
-----------------------------------------------------------------
When I commented out PIE ACK group , both comm is not working at all.
So, please advise how to clear SCI interrupt in one ISR without affecting another port ( without clearing PIE ACK group).
or how to configure custom PIE ACK group so that I can have SCI-B on INTERRUPT_ACK_GROUP10 instead INTERRUPT_ACK_GROUP9 assigned by default by the library provided
Best Regards
TY,
CY