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.

[参考译文] TMS320F28379D:I2C 读取问题

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/697359/tms320f28379d-i2c-read-problem

器件型号:TMS320F28379D

您好!

我在通过 I2C 读取时遇到问题。 我想从地址0x19读取4个字节。

顺序如下:

1)向地址0x19写入数据字节

2)从地址0x19读取4个字节的数据

因此、在我读取最后一个字节后、数据保持低电平、并且我无法发送到停止条件。 是否有任何方法发送到 STOP 命令? 请参见图片:

读取代码非常简单。 我不知道我的代码有什么问题:如果我丢失了什么、您能告诉我吗:

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

     

    问题是我的 STP 已设置为1。 但停止条件不会生成、因此它保持设置为1、不会变为1。

    那么、如何解决这个问题呢?  有什么想法吗? 谢谢

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

    您是否确定要配置 I2CCNT? 如果您未正确配置 I2CCNT、则不会生成停止条件。

    此致、
    曼诺伊
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、我已经在初始化中完成了这项操作!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    萨加尔

    您能否确认您的读取 RXFFST 是否= 4? 此外、示波器屏幕截图显示您也将 I2C 用作发送器。 正确吗?

    此致、
    曼诺伊
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我认为 I2C 时钟初始化有问题、速度可能不正确! 它现在可以工作了! 感谢你的帮助