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.

[参考译文] TMS320F280039:GpioDataReadRegs 中的值对于 GPADAT、GPBDAT 和 GPHDAT 不同

Guru**** 2395375 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1257306/tms320f280039-the-value-in-gpiodatareadregs-are-different-with-gpadat-gpbdat-and-gphdat

器件型号:TMS320F280039

尊敬的 C2000专家:

我发现 GPADAT、GPBDAT 和 GPHDAT 寄存器的 GpioDataReadRegs 值不同、请参见下面的屏幕截图、我提高了该值、您能告诉我原因吗?

此致、

插孔

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

    您好、Jack:

    如果这些 GPIO 引脚未配置并且被保留在它们的缺省设置中、这可能是因为 GPIO 引脚缺省情况下被配置为输入、所以有可能读取引脚上的任何噪声。 您是否尝试在非默认状态下使用 GPIO 引脚?

    此致、

    阿米尔·奥马尔

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

    您好、Omer:

    说实话、我只是想读取 GPIO24、GPIO25。 GPIO26. GPIO27和 GIPIO30引脚值、这些引脚会配置为输入、但这些引脚通过外部硬接线上拉至3.3V。  并且值 GpioDataRegs.GPADAT.all 正确、但 GpioDataReadRegs.GPADAT_R 中的值错误。

    此致、

    插孔

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

    您好、Jack:

    我将与设计团队核实、看看这些寄存器的更新方式是否有差异。

    此致、

    阿米尔·奥马尔

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

    您好、Jack:

    GPIO_DATA_READ_REGS 被锁存、这与直接读取的 GPIO_DATA_REGS 不同。 如果在 更改 IO 和读取 GPIO_DATA_READ_REGS 之间增加了一点延迟、这些值是否稳定至正确的输入?

    此致、

    阿米尔·奥马尔

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

    您好、Omer:

    请查看我的第一篇文章中的屏幕截图、这里是我复制的 agian。 当我捕捉这张图片时、它在引脚电平改变后延迟了至少几秒钟、对于  GpioDataReadRegs 的结果仍然不正确。  

    此致、

    插孔

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

    您好、Jack:

    很抱歉、但为了澄清一点、您是在修改输入、然后在单步执行代码前等待几秒钟、对吧? 如果您只是修改输入并刷新 寄存器窗口、我不知道调试器是否重新读取所有外设寄存器。

    此致、

    阿米尔·奥马尔

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

    您好、Omer:

    是的、这是正确的、调试器始终处于持续刷新状态。

    这可以在 Lauchpad 中轻松实现、只需将 GPIO 配置为输入、并将引脚连接到3.3V、然后  通过 JTAG 读取 GpioDataReadRegs 和 GpioDataRegs。 我想您会发现差异。

    此致、

    插孔

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

    您好、Jack:

    我与另一位专家讨论了这个特定的 GPIO 架构、似乎参考手册中没有清楚地解释 GPIO_DATA_READ_REGS 的目的。

    为了澄清这一点、GPIO_DATA_READ_REGS 是返回已写入 GPyDAT 的寄存器、它们绝不反映 GPIO 引脚上的情况(这也是 GPyDAT 的用途)。 基本上、您将使用这些寄存器来针对 GPIO 输出引脚验证您写入引脚的内容(显示在 GPyDAT_R 中)实际上在引脚(GPyDAT)上。 您不应使用这些寄存器来读取输入。

    此致、

    阿米尔·奥马尔

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

    您好、Omer:

    感谢您的澄清。

    如果是、可能必须更新 GPADAT_R 存储器对 TRM 的说明。  

    此致、

    插孔