Hi, community:
Recently, I have been developing the LINFlexD module of MPC5777M using example code from the community. However, during the process of using it, I found that the LINFlexD module has already generated interrupt requests as a slave (with RXI: DRF and DRIE flags asserted), but did not enter the interrupt exit function as expected. I have modified the corresponding interrupt priority and core according to the requirements of S32DS for PA, The name of the interrupt function has been modified in the corresponding interrupt vector of the exception Interrupt vector table. I hope your can help me!
Hi,
I tried your example on MPC5777M EVB and if doing connection mentioned in code I can see master/slave exchange data properly. Both slave's TX/RX interrupts are called.
BR, Petr
Based on your description, it seems like you have done the necessary steps to set up the LINFlexD module and the interrupt vector table. However, there are a few things you might want to check:
Here is a code snippet that shows how to set up the LINFlexD module and the interrupt vector table:
// Initialize LINFlexD module void LINFlexD_Init(void) { // Set LINFlexD module to slave mode LINFlexD->LINCR1 = 0x00000001;
// Set baud rate LINFlexD->LINIBRR = 0x0000000F; LINFlexD->LINFBRR = 0x0000000F;
// Enable RXI interrupt LINFlexD->LINIER = 0x00000004; }
// Define RXI interrupt handler void LINFlexD_RXI_Handler(void) { // Handle RXI interrupt }
// Register RXI interrupt handler in interrupt vector table void Interrupt_Vector_Table_Init(void) { // Register LINFlexD_RXI_Handler in interrupt vector table Interrupt_Vector_Table[LINFlexD_RXI_IRQn] = LINFlexD_RXI_Handler; }
For more detailed information, you can refer to the LINFlexD Module Overview and Programming article on the community.nxp.com website.