我使用 GPIO20至 GPIO24、GPIO50至 GPIO58作为输入。 它们都配置为输入、并且除 GPIO22和 GPIO52外都能正常工作。 这两个 GPIO?点是否有不同之处?
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.
我使用 GPIO20至 GPIO24、GPIO50至 GPIO58作为输入。 它们都配置为输入、并且除 GPIO22和 GPIO52外都能正常工作。 这两个 GPIO?点是否有不同之处?
我不知道有什么区别。
首先在运行时检查配置。 验证 GPADIR 和 GPBDIR。 验证 GPAMUX2和 GPBMUX2。 这应该验证它们是输入并且被用作 GPIO、而不是用于某些外设功能。
其次、如何切换 GPIO? 对某些寄存器的连续写入可能会丢失。https://processors.wiki.ti.com/index.php/General_Purpose_IO_(GPIO)_FAQ_for_C2000#Q:_Back-to-back_DAT_register_writes_do_not_work_as_expected
以上整篇文章可能值得阅读。
此致、
Cody
感谢 Cody 的回应。 我已经使用 GEL 检查了 MUX 和 DIR 寄存器、它们都正常。 我还在加电后立即放入一个无限循环、以确保其他任何东西都不会访问这些寄存器。 GPIO 引脚 通过光学隔离器 TLP292-4 (LA-TR、e. GPIO 引脚上有一个4.7K 上拉电阻器连接到3.3伏、 我用于输入的其他46个引脚以相同的方式连接并正常工作。
您引用的文章已删除。
我认为处理器 Wiki 现在仅在 TI 网络内部可见。
认为本文现在位于 [常见问题解答] C2000 GPIO 常见问题解答中
您能否在相关 的光学隔离器打开时测量 GPIO22和 GPIO52引脚上的电压,以查看输入与 VIL 的接近程度?
您是否有多个显示问题的电路板?
想知道是否连接到 GPIO22和 GPIO52引脚的光电隔离器通道上存在故障、而 TMS320F28334中的 GPIO 中存在故障。
Fred、
它似乎必须在内部服务器上进行刷写。 但是、正如 Chester 指出的、这些信息可在该常见问题解答中找到。 假设您没有使用对 DAT 寄存器的背靠背写入操作、是否安全?
该器件应该能够为4.7K 上拉电阻器提供过功率、但可能值得取消对该电阻器的配置以验证问题是否存在。 从这个角度来看、我更希望出现组装问题、或者由于这是在5个电路板上、BOM 中可能列出了错误的值? 不过、这是一个很容易排除的问题、所以为什么不排除。
我不确定您是如何使用 GEL 验证寄存器值的。 我建议使用寄存器查看器读回它们、前提是您可以在连接到 CCS 时运行。 您可以通过转到"View->Registers"来访问该寄存器。 请务必单击 Continuous Refresh 按钮。
此致、
Cody
您好 Cody 、是的、谢谢您、我找到了您提到的文档。 由于这些 GPIO 引脚用作输入、因此我不会向 DAT 寄存器写入任何内容。
我检查了所有电阻器的值是否正确、但这是一个很好的建议。 我确实将两个电阻器更改为16k、以查看较弱的上拉电阻是否起作用。 这不奏效。 移除引脚 GPIOon 上的上拉电阻也没有任何作用。
这是我使用的电路。 我用作输入的所有48个 GPIO 引脚都以相同的方式连接、但只有2个引脚无法正常工作。 我已经通过 在代码运行后设置一个观察来检查所有 MUX、PUD 和 DIR 寄存器。 所有寄存器都正确。
我可以将我的场输入重新定位到不同的 GPIO 引脚(但不会这样做)。 感谢您提供的任何其他帮助。
Fred、
很抱歉、我看到您表示您之前在线程中使用 GPIO 作为输入。
只需确认即可。 当您在 GPIO 上驱动3.3V 电压时、您会看到1、当您强制节点为0V 时、您可以在 C2000器件中看到0? 这将向我表明器件已设置且工作正常。 器件内部有一个非常弱的上拉电阻、可启用或禁用该电阻、但该电阻不够强大、无法影响您的光耦合器。
如果换用新的光耦合器无法解决该问题、您可能可以对相邻引脚进行去焊并跨越光耦合器通道。 这很可能可以通过 GPIO 21和22轻松实现。 如果光耦合器通道问题、我们可以排除任何 C2000问题。
此致、
Cody