Hello,
I am debugging LPI2C of RT1172 and there is an I2C TX issue. The details of issue as below:
1. Starting Master transmission: 3 commands/data
word 0: CMD=0x4(START) << 8 | slave address << 7 | 0x0(Write)
word 1: CMD = 0x0(transmit DATA[7:0]) << 8 | Data0
word 2: CMD = 0x0(transmit DATA[7:0]) << 8 | Data1
2. After writing word 0 to TX FIFO(MTDR), MFSR[TXCOUNT] will become 0 and MSR[MBF] = 1
3. Write word 1 and word 2 to TX FIFO (MTDR), MFSR[TXCOUNT] changed to 2, and MSR[MBF]=1
And the remaining words(word 1 and word 2) will never be transmitted and MSR[MBF] = 1.
Other bits in MSR are all 0. MSR[NDF] = 0, it means no NACK received after sending address byte.
So, why MSR[MBF] is always and data in tx FIFO is not sent? Please give me some proposals about the issue. Thanks!
Hi,
Have you tried MCUXpresso SDK for RT1170 LPI2C example demo, such as <evkmimxrt1170_lpi2c_interrupt_b2b_transfer_master_cm7>.
Related SDK software package could be downloaded from here.
Wish it helps
Mike