LPI2C issue: data in TX FIFO is not transmitted after sending address

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

LPI2C issue: data in TX FIFO is not transmitted after sending address

747 Views
JasonGong
Contributor I

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!

 

0 Kudos
Reply
1 Reply

713 Views
Hui_Ma
NXP TechSupport
NXP TechSupport

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

0 Kudos
Reply