This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSP430F5528:如何从 I2C 读取多个字节?

Guru**** 2478765 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1305181/msp430f5528-how-to-read-multi-bytes-from-i2c

器件型号:MSP430F5528

在示例代码"MSP430F55xx_uscib0_i2c_10.c"中、它提供了有关从目标读取多字节的 I2C 演示、但是、它在 USCUB0中循环5次。  

我的问题是、控制器如何知道最后一个字节并发送 NACK? 它看起来与 MSPM0中的 I2C 不同?  

在 MSPM0中、我需要首先定义需要读取的字节数、那么 MSP430呢?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kun:

    在 USCI_B0 ISR 中、UCB0CTL1寄存器中有一组 UCTXSTP 位。

    这会告诉控制器在下一个接收到的字节后生成 STOP、在控制器接收模式下、该字节转换为一个 NAK 和一个 STOP、如系列用户指南所述:

    您仍可以定义要读取的字节数、但在 MSP430代码中、这是通过 RXByteCtr 完成的、并且读回的字节数会手动递增。  

    此致、
    布兰登·费舍尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢!