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.

[参考译文] TMS570LS1227:Gio

Guru**** 2815985 points

Other Parts Discussed in Thread: HALCOGEN

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1623649/tms570ls1227-gio

器件型号: TMS570LS1227
主题中讨论的其他器件: HALCOGEN

您好、

我在使用 HALCoGen 生成的代码中使用 GIO 模块时遇到问题。 具体而言、当 I 将输出 5 设置为高电平状态 (1) 时、其他寄存器似乎意外修改。 因此、信号短暂出现、但随后消失。

您能否提供有关这种情况发生的原因以及如何解决的指导? 如果您需要更多详细信息或代码片段、请告诉我、以便进一步访问 context.GIO.zip 2026-03-06_151623.jpg

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

    尊敬的 Sebastian:

    尊敬的 Sebastian:

    当我将输出 5 设置为高电平状态 (1) 时、似乎其他寄存器正在被意外修改。

    我可以看到更改的寄存器是 DIN、DOUT、DSET 和 DClr。  

    这只是预期情况。 因为 gioSetBit API 通常 按如下所示写入 DSET 寄存器:

    当我们向该寄存器写入 1 时、这会使相应的引脚值右变为高电平、当这种情况发生时、Din 引脚值显然变为–1、因为该寄存器读取引脚上存在的任何值。

    同样、DOUT 寄存器值也变为 1、因为该寄存器还用于直接更改引脚输出状态。 因此、当引脚输出状态值发生任何变化时、这也会反映相同的状态。

    同样、如果向 DClr 寄存器写入 1、这将按如下所示更改寄存器值。

    现在引脚状态为 0、因此所有寄存器(如 DIN、DOUT、DSET 和 DClr)在相应的位上生成 0、如下所示。

    --
    此致、
    Jagadish。

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

    感谢您的答复。

    将 gio5 设为 1 时、我面临一个问题。
    理想情况下、该引脚应设置为高电平状态、对吗?
    然而、正如在我的分析仪上观察到的、信号仅会在恢复到低电平之前短暂地保持高电平。
    请您帮助澄清以下几点:

    1) 当我将 DSET 设置为高电平时、为什么 DClr 信号切换为高电平? 这不是两个独立的信号吗?
    2) 如何将 gio5 引脚配置为永久保持高电平状态?


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

    您好、

    您正在使用哪块电路板? TI 电路板还是定制电路板?

    如果是 TI、准确地使用哪一块电路板? LaunchPad 或 HDK?

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

    我使用的是 TI 电路板:TMS570LS12x Hercules 开发套件 (HDK)。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid=“558003" url="“ url="~“~/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1623649/tms570ls1227-gio/6260426 ]我使用的是 TI 电路板:TMS570LS12x Hercules 开发套件 (HDK)。

    感谢您的确认。

    1) 当我将 DSET 设置为高电平时、为什么 DClr 信号会切换至高电平? 这不是两个独立的信号吗?

    您是否在正确的针脚处测量信号? GIO_A5 位于 J11 连接器的第 23 引脚。

    确保在正确的信号下进行测量、因为我看不到任何其他原因导致波形错误。 很遗憾、我这边没有用于测试问题的电路板

    如果上述建议对您没有帮助、那么您能否设置一个实时调试会话?

    --
    此致、
    Jagadish。

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

    我已验证连接:引脚 23 (GIOA[5]) 和引脚 35 (GND)。
    您能否确认是否存在直接关系 直流 在时自动设置为 1 DSET 是否设置为 1?
    我仍然不明白为什么  DClr (这是清除 Gio )正在改变。

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

    尊敬的 Sebastian:

    您能否确认其中是否存在直接关系 直流 在时自动设置为 1 DSET 是否设置为 1?

    这只是预期行为。

    如果您验证 TRM 中的 DClr 或 DSET 寄存器定义、您可以找到如下所示的注释。

    注意:GIODOUT 位的当前逻辑状态也将通过该位显示。

    因此、这意味着 DClr 和 DSET 寄存器也意味着 GIODOUT 的状态、这意味着它们将直接暗示输出引脚的状态。

    这意味着、如果您更改引脚状态、也可以从这些寄存器读回相应的新状态。  

    例如、如果您使用 DSET 寄存器将 OUTPUT 引脚设置为逻辑高电平、那么在此之后、相应的逻辑高电平输出状态也会反映在 DSET 和 DClr 寄存器以及 Dout 寄存器上。

    同样、 如果您  使用 DClr 寄存器将输出引脚清除为逻辑低电平(向该位写入 1)、那么在此之后、相应的逻辑 低电平输出状态也会反映在 DSET 和 DClr 寄存器以及 Dout 寄存器中。

    因此、DSET 和 DClr 的这种行为不是问题、根本原因应该是其他问题、某些硬件问题。 我认为引脚与 GND 之间应该存在一些短路。 因此、即使我们写入逻辑高电平、也会缓慢拉至逻辑低电平。

    --

    此致、
    Jagadish。