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.8035万:I2C,nack函数

Guru**** 2576195 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/643342/tms320f28035-i2c-nack-function

部件号:TMS320F2.8035万

大家好:

我正在使用TMS320F2.8035万实施PMBus协议。

当从属设备(F2.8035万)在传输模式下接收到错误的命令(由软件定义的命令)时,这是否可能生成nack信号?  

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

    如果F2.8035万 I2C处于接收模式(主(或)从),您应该能够通过设置I2CMDR.NACKMOD来发送nack信号。

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

    Manoj:您好!

    感谢您的快速响应。

    我已经测试了以下的nack。  我能否及时生成nack信号?(获取整个数据字节后立即生成nack)

    Andrew

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

    Andrew,

    不,F2.8035万 I2C从属设备没有自动识别错误命令和立即发送nack信号的方法。 F2.8035万 I2C从属设备需要处理输入命令,以知道它是正确(还是)错误的命令。 这需要由F2.8035万代码处理,现在当输入命令是正确的命令时,CPU将配置I2C寄存器以发送ACK信号。 如果输入命令不正确,CPU将配置I2C寄存器以发送nack信号。

    此致,

    Manoj

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

    您好,Manoj

    我通过软件设置发送nack信号。

    我知道I2C硬件无法自动识别协议(用户定义)。 当我检查数据字节不正确时,我在RX中断处设置I2CMDR.NACKMOD =1。 我发现nack信号总是在下一个确认周期生成。

    所以,我 想知道是否可以在错误的数据字节之后生成nack,而不是在下一个数据字节的末尾生成。  

    谢谢。