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.

[参考译文] MSPM0C1104:驱动器 API 读取失败、但寄存器显示该值

Guru**** 2465890 points
Other Parts Discussed in Thread: MSPM0C1104, SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1471602/mspm0c1104-gpio-read-fail-by-the-driver-api-but-the-register-shows-the-value

器件型号:MSPM0C1104
主题中讨论的其他器件: SysConfig

工具与软件:

大家好、我正在尝试使用 SysConfig 生成的驱动程序从 MSPM0C1104上的 GPIO 引脚(PA16)进行读取。 我使用轮询方法来读取引脚状态。

- DIN31_0寄存器正确地反映了按下和释放按钮时的引脚状态。
-无论实际的引脚状态如何, DL_GPIO_readPins () API 总是返回0x00000000。
-我也尝试直接访问寄存器使用其地址,但它仍然不起作用。


在第一张图片中、按钮未按下、DIN31_0在16 th 引脚中保持1 (不知道具体设置它的原因)、但 API ReadPin 将返回0。 在第二幅图片中、按下按钮后引脚的状态会发生变化、并且 readpin API 仍返回0。

我要附加工程 zip 文件(GPIO_READ)以供参考。 任何有关此问题的见解都很有帮助!

  e2e.ti.com/.../gpio_5F00_Read.zip

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

    从.zip 中提取的内容、PA16的.syscfg 没有开启内部上拉电阻器、因此 PA16处于悬空状态(当 S2未按下时)。 由于它悬空、我可以通过触摸 Booster Pack 接头上的 PA16引脚来触发它(不一致)。 当我不接触引脚(或 S2)时、LED 随机跳动、有时速度可能比我所能看到的速度快。

    当我在 SysConfig 中启用内部上拉时、我得到了非常一致的结果。

    我怀疑您在调试器中观察到的是一种错觉、即(悬空)引脚在断点触发和调试器读取寄存器的时间之间改变了状态。

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

    我还启用了上拉电阻器、并也尝试过。 我得到相同的结果。 如果可能、您可以附加工程的 zip 文件、以便我对其进行验证  

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

    您对哪个项目感兴趣?

    我的过程:(a)直接从.zip 导入(b)注意了行为(c)设置上拉电阻(首先在寄存器中、然后在 SysConfig 中)并注意了行为(d)直接从.zip (e)重复的步骤(b)重新导入。 步骤(d)是要确保我没有把我的手肘插入其他东西。

    我在.syscfg 的副本之前/之后附加了这些副本。 "diff -w"表示唯一的区别是 PULL_UP 行。

    我使用了 CCS v12.6.0 (SysConfig 1.21.0)。 我想版本之间可能会有差异、但是--适当的尊重---它更容易怀疑某种程序性的东西。

    /cfs-file/__key/communityserver-discussions-components-files/908/gpio_5F00_software_5F00_poll_2D00_orig.syscfg.txt

    /cfs-file/__key/communityserver-discussions-components-files/908/gpio_5F00_software_5F00_poll_2D00_pu.syscfg.txt

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

    Bruce、您好、我已经使用了您的 /cfs-file/__key/communityserver-discussions-components-files/908/gpio_5F00_software_5F00_poll_2D00_pu.syscfg.txt、并且得到了相同的结果。 我的 API 始终返回零。 此处可能是什么问题? 是 IDE 问题吗? 我使用的是12.8.1版本

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

    我将工程导入到 CCS 12.8.1中、并看到上面报告的相同行为:

    1)如果没有上拉电阻、我有时会看到 PA16的 readPins 返回1。 (这对于悬空引脚而言不是意外情况。)

    2) 2)通过上拉、我始终看到 PA16为1。

    3)当我按下 S2时、我总是看到 PA16为0。

    您能描述准确的测试顺序吗? 我们显然在做不同的事情。