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.

[参考译文] MSP432E401Y:只使用1或2个主字节对 I2C 寄存器进行初始化读取

Guru**** 2562120 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/913221/msp432e401y-i2c-register-read-initialized-using-only-1-or-2-master-bytes

器件型号:MSP432E401Y

团队、

我正在尝试确定 MSP432的专用 I2C 块是否支持初始化为一个主字节(即主器件发送带有读取请求的从器件地址、而从器件数据紧随其后)或两个主器件字节(即 主器件发送带有读取请求的从器件地址、然后是寄存器地址、 和从器件数据紧随其后)。

我知道、在从器 件开始响应之前、该标准通常需要发送三个主字节(0:写请求、1:从器件地址、2:读取请求)、如 www.ti.com/.../slva704的图9所示。 但是,通过查看 NXP ( https://www.nxp.com/docs/en/user-guide/UM10204.pdf )上的“UM10204 I2C 总线规范和用户手册”,我发现“主机在第一个字节后立即读取从机”模式(参见图12)。 在第一次确认时、主发送器成为主接收器、从接收器成为从发送器。"  

但是、我一直找不到任何提及或示例(来自 TI 和非 TI 来源)来实现此单个主器件字节启动 的寄存器读取、因此我认为这并不是很常见。 我知道 I2C 在 SMBus 模式下支持快速指令、这与 I2C 标准文档中描述的类似、但并不相同。  http://www.ti.com/lit/an/sloa132/sloa132.pdf 的图1 显示了 SMBus 与 I2C 的比较、它是图中的"I2C 单字节读取"(右上角)示例、我们希望使用 MSP432的 I2C 块实现而无需 Bit-bang。

如果 MSP432E401CAN 的 I2C 块仅支持3字节主器件启动的寄存器读取、TI 是否提供支持1或2字节主器件启动的标准变体的替代 MCU? 如果不是、我怀疑这将需要进行位拆裂。

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

    您好!

    我必须说、slva704并非专门用于 MSP432Exx。

    我检查 UG 和示例代码、找不到有关主器件接收的足够信息。

    这来自 MPS432Pxx、与 MSP430相同、它表明它支持此功能。  

    我必须说它应该符合 I2C 标准并支持这个功能。 我找不到任何代码示例、一种解决方案是参考引导加载程序(C:\ti\simplelink_msp432e4_sdk_4_10_00_13\examples\nortos\MSP_EXP432E401Y\boot_loader)。 您也可以查看 API 用户指南。