LPI2C issue: data in TX FIFO is not transmitted after sending address
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
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!


- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
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
