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:使用 SysConfig 生成的驱动程序时、GPIO 读取操作失败

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1468807/mspm0c1104-gpio-read-operation-failing-when-using-the-driver-generated-by-sysconfig

器件型号:MSPM0C1104

工具与软件:

因此、这听起来可能是一个愚蠢的怀疑、但我尝试调试了不读取引脚会导致什么问题。 我尝试了多种方法。 我已使用上拉电阻器将 p16A 配置为输入。 GPIO_LEDS_InputPin 是引脚映射。 我的代码类似检查我的引脚读取值是1还是0、然后进行切换。 在 LaunchPad 上、我为 PA16引脚提供了大约2.9V 的电压。 我把断点放在第77行上,它不是,我不能读取值. 我始终获得0的 UINT32位值。  
请帮助!

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

    你是否相当确定你达到了第73行? 我看到您正在启用引脚中断、但我看不到用于它的 ISR。

    您可以使用 Registers 视图直接查看 DIN31_0寄存器。

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

       

    是的、我能够到达第73行。 我已经使用了 ISR、但没有得到任何中断。 在寄存器窗口中、即使我不向引脚提供电压、我的引脚16位也始终设置为1。

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

    如果您到达第73行、但不到达第77行、则只有几个步骤介于这两者之间。 DL_GPIO_readPins 只有1行长("return (GPIO->DIN31_0 & PINS);")、因此我能想到的是 InputPin_PIN 定义有所不同。 (右键单击名称并"转至定义"。)

    如果您从第73行"单步"、您会看到什么?  基于这些片段(图片),我不能亲自尝试。