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.

[参考译文] TMS320F2.8335万:I2C 10位寻址

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/583284/tms320f28335-i2c-10-bit-addressing

部件号:TMS320F2.8335万

在将十位地址写入I2CSAR寄存器(即 I2CCAR = 0x7800 + SlaveAddress),或者选择10位寻址模式时模块是否会为您处理此问题?

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

    Andrew,

    很遗憾,我无法理解您的顾虑。 请您进一步解释一下吗? 此外,没有称为“I2CCAR”的寄存器

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    对于I2C 10位寻址,主控制器通过两个单独的字节传输发送从属地址。 第一个字节由1.111万b (10位地址的两个MSB)和R/WN=0 (写入)组成。 我的问题是I2C模块是在10位寻址模式下将1.111万b预先放在salve地址上,还是编码器应该在将地址写入I2CSAR寄存器之前将1.111万b预先放在从属地址上?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    要让模块使用10位地址,您需要在I2CMDR寄存器中设置XA位。 这适用于主模式和从模式。 之后,您只需将10位地址“按现在的方式”写入I2CSAR。 IP可以理解这是一个10位地址。 然后,它会自动将“1.111万”附加到第一个字节中10位地址的两个MSB。 10位地址的其余8位在下一个字节中跟随。