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.

[参考译文] MSP430F2617:无法将 P2.0或 P2.1作为 GPIO 进行控制

Guru**** 2390755 points
Other Parts Discussed in Thread: MSP430F2617

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/864366/msp430f2617-unable-to-control-p2-0-or-p2-1-as-gpio

器件型号:MSP430F2617

我们使用的是 MSP430F2617 (修订版 H 芯片)的80引脚封装、无法使用 GPIO 寄存器控制 P2.0 (引脚20)或 P2.1 (引脚21)的状态。 我们已在多个电路板上确认了这种行为。  

例如、即使我们按如下方式设置 P2寄存器、P2.0 (引脚20)的电压仍保持在~0V:

P2REN = 0x00

P2SEL = 0x00

P2DIR = 0x01

P2OUT = 0x01

我们确认可以通过这种方式控制其他端口2引脚。 例如、当我们在位3上使用类似的设置时、我们观察 到 P2.3 (引脚23)上的~VDD。

我们还确认了 CAPD 寄存器位和 P2CAx 寄存器位都为0。  

除了列出的寄存器之外、是否还有其他一些寄存器用于控制 P2.0和 P2.1 GPIO 功能?  这是一款成熟的器件、因此我确信这已经得到了解答、但我在 E2E 上找不到任何东西。

谢谢

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

    您不会显示任何实际代码、因此我无法对此进行评论。 如果这与您的描述相符、则它们应为输出。 引脚是否连接到其他可能会将其下拉的引脚?

    尝试将引脚配置为输入(PUC 执行此操作)并测量引脚上的电压。 不使用和使用外部上拉电阻器时都是如此。 如果它在上拉时保持为0V、则引脚在某个位置短接至接地。

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

    David、

    我确认没有任何外部连接到 P2.0引脚。 该信号甚至不会路由到 PCB 上、但我将直接在引脚上进行探测。 在一个 PUC 后、我使用一个电压表探测引脚、此电压表具有和没有上拉至3.3V 电压、结果如下。

    • 无外部电阻器、在引脚上测量的电压= 0V
    • 5.5k Ω 上拉至3.3V、在引脚= 3.3V 时测量的电压

    然后、我运行以下代码:

    P2DIR |= BIT0; //将 P2.0配置为输出
    P2OUT |= BIT0; //将 P2.0设置为高电平 

    然后重复测量:

    • 无外部电阻器、在引脚上测量的电压= 0V
    • 5.5k Ω 上拉至3.3V、在引脚= 3.3V 时测量的电压
    • 5.5k Ω 下拉 至0V、在引脚= 0V 时测得的电压

    使用 P2.3进行的类似实验得出了反映寄存器编程的引脚电压的预期结果。

    谢谢、

    Ruben

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

    接下来是对编译器进行完整性检查。 BIT0可能并不意味着您认为它会这样做、请检查生成的汇编代码。 我使用 gcc 工具中的"msp430-elf-objdump -S"。 您应该会看到"bis.b #1、&P2DIR"

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

    检查。 BIT0定义正确、编译器正在生成正确的代码。 请参阅以下 CCS 寄存器视图在运行这两行代码后的屏幕截图。

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

    嗨、Ruben、

    我将查看这些 GPIO 的引脚图、比较器模块看起来能够用 CAPD.x 位覆盖 GPIO 功能。  您也可以检查这些位吗?   

    谢谢、

    JD

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

    JD、

    是的、我检查了 CAPD 位、甚至有一个与这些位相关的勘误表。 当我发现我确信这些是我问题的原因时、我已经检查了比较器位、根据我的理解、它们似乎都已正确设置。 请参阅下面的屏幕截图。 我仍然认为它必须与此相关、但我不确定是什么/如何操作。

    谢谢!

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

    您是否尝试过最简单的程序? (禁用看门狗并设置 P2OUT 和 P2DIR)

    如果在这种情况下无法获得输出、我会怀疑硬件出现故障。

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

    是的、我已经按照您的建议尝试了最简单的程序、但对这些引脚没有影响。  我还怀疑有硬件问题、但我发现奇怪的是、这会以完全相同的方式影响多个 PCB、而 MSP 则完全正常工作。

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

    Ruben、

    这看起来有点奇怪。  硬件损坏似乎很可能。    

    您在多少个电路板/器件上看到了这种情况?   

    我不清楚、在设置内部上拉/下拉时、您是否能够测量电压差?   

    为了进行完整性检查、我可以在实验练习中测试切换这些 GPIO。  我在这里没有任何 MSP430F261x 器件、所以我订购了一些样片、这些样片应该在下周早些时候在这里提供。   

    谢谢、

    JD

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

    谢谢 JD! 这是最近通过 TI store 订购的3款新型 DV8885 EVM 上的一种情况。 在我们观察到这个问题之前、他们的处理非常少。 我还订购了 F2617和80引脚 ZIF 板的样片来对此进行测试。 我们不会被这种情况阻挡、但现在我真的很好奇。

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

    我发现这里的问题是运算符错误。 我参考的器件的错误引脚图。 很抱歉耽误了时间、但感谢您的帮助。