Hello everyone,
I'm using S32K146 adapt with MCAL driver now. For flexI2c module, S32K is act as master with asynchronous method. I tried to add DMA channel to assist communication, and have seen MCL_DMA_CH_0_ISR and MCL_DMA_CH_1_ISR can be entered, but the I2C status is always I2C_CH_SEND or I2C_CH_RECEIVE but can not be I2C_CH_FINISHED. I'm not sure what is wrong with that.
The EB configuration is like below:
The "Mcl Dma Transfer Completion User Notification" I added in EB is I2c_FlexIO0_DmaTransferCompleteNotificationShifter0 and I2c_FlexIO0_DmaTransferCompleteNotificationShifter1, both of the two function can be entered.
So what might be the problem? How can I use FlexI2C master + Asynchronous method + DMA in MCAL driver successfully?
Solved! Go to Solution.
Could you please try to also install and enable the interrupt handler ISR(MCL_FLEXIO_ISR). After that the I2C status will be able to change to I2C_CH_FINISHED
Best regards,
Hung
Could you please try to also install and enable the interrupt handler ISR(MCL_FLEXIO_ISR). After that the I2C status will be able to change to I2C_CH_FINISHED
Best regards,
Hung