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.

[参考译文] CCS/MSP430G2553:MSP430G2553 P2.0引脚可以#39;t 被下拉。

Guru**** 2539500 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/743854/ccs-msp430g2553-msp430g2553-p2-0-pin-can-t-be-pulled-down

器件型号:MSP430G2553

工具/软件:Code Composer Studio

您好!

我正在尝试下拉 P2.0引脚(在代码中将其称为 nSCS 引脚)。 但是、我无法通过设置输出引脚将其拉低。 您能帮我发现我的代码有任何问题吗?

P2SEL &=~(nSCS);

P2SEL2 &=~(nSCS);

P2DIR |=(nSCS);

P2OUT &=~(nSCS);

但是、如果我添加了3k 外部下拉电阻器、我可以看到 P2.0引脚(nSCS 引脚)被下拉。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    导线另一端有什么? 这听起来像是总线争用(而另一侧胜出)。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Wang、

    如 Bruce 所示、您能否具体说明您连接到该引脚的是什么? 连接是否可以防止引脚被拉至低电平?
    请提供更多详细信息。

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

    Bruce、Britta、

    感谢您的意见。 根据测量结果、nSCS 引脚上拉电阻器为83k Ω。

    如果我放置20k Ω 下拉电阻器、它可以将 MPS P2.0引 脚下拉电压从大约2V 更改为1V。 如果放置3k Ω 下拉电阻器、则 P2.0引 脚电压低于0.3V。

    问题是:什么是 P2.0输出引脚低电流能力? 如何获取? 我的设置代码有什么问题吗?

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

    我只需将此代码放在 G2553 (G2 Launchpad 修订版1.5)上、并让其在 P2.0未连接任何内容的情况下运行、而我的 DMM 的读数为0.00 V

    我不知道我们在做什么不同。

    #include 
    #define nSCS BIT0
    int
    main (void)
    {
    WDTCTL = WDTPW | WDTHOLD;//停止看门狗计时器
    P2SEL &&~(nSCS);
    P2SEL2 &&=~(nSCS);
    P2DIR |=(nSCS);
    P2OUT &=~(nSCS);
    while (1)
    {
    LPM0;
    }/*NOTREACHED*/
    
    RETURN 0;
    } 

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

    Bruce、

    感谢你的帮助。 我们还尝试了几次测试。 Rick 帮我找到它:P2REN 设置会影响 P2DIR 设置、这会导致 nSCS 引脚逻辑低电平下的剩余电压高(未完全下拉)。

    当 P2REN 被设定为高电平时、P2DIR 一直运行为一个"输入"引脚(低电流能力)、即使 P2DIR 被设定为高电平也是如此。

    您是否会在代码中添加 P2REN = nSCS 并检查输出?

    PxREN 将 GPIO 端口从输出更改为下拉。 PxREN 是否覆盖 PxDIR 设置?

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

    我将此代码放在 G2 Launchpad (修订版1.5)上的(不同) G2553上、而我的(不同) DMM 从 P2.0读取0.000V 电压。 P2DIR.0仍然为1。

    我的代码在您的系统上有什么作用?

    #include 
    #define nSCS BIT0
    int
    main (void)
    {
    WDTCTL = WDTPW | WDTHOLD;//停止看门狗计时器
    P2SEL &=~(nSCS);
    P2SEL2 &=~(nSCS);
    P2DIR |=(nSCS);
    P2OUT &=~(nSCS);
    P2REN =(nSCS); //已添加
    while (1)
    {
    LPM0;
    }
    /*NOTREACHED*/
    返回0;
    } 

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

    正如 Bruce 在其帖子中所指出的那样,PxREN 不应阻止引脚变为低电平,因为您报告 PxOUT 配置为将引脚拉低。
    您使用的是什么硬件? 您有自己的 PCB 还是使用 LaunchPad。
    此外、您能否重新检查外部连接?
    您是否单步执行应用程序代码以验证端口寄存器是否按预期设置? 您的代码中是否有任何其他修改端口设置的内容?

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

    我想我开始看到您在谈论什么。 我在 P2.0上放置了一个弱(20K)外部上拉电阻、电压确实上升到了大约2V。 您是否在 P2.0上有外部上拉电阻器?

    由于我很确定我之前已经完成了这项工作、我返回到了数据表中。 G2553数据表(SLAS735J)第50页(无图编号)显示、内部下拉仅由 REN 位控制、通过外部上拉设置分频器。 我与 FR2355数据表(SLACEC4B)进行了比较图 6-4、其中看起来 DIR 位显式禁用内部下拉。 建议是 FR2上的相同代码是可以的。

    我不确定是哪种器件采用哪种方式来实现它。 我想(当然不满意)答案是"不要这样做"。

    [无论如何,我现在已超出了我的权限。]

    [编辑:修正了一些术语。]

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

    我使用了电机驱动 EVM 来检查 P2.0引脚功能。 外部连接由几个人验证(PCB 布线、上拉电阻值...)。
    是的。 在"P2REN |= nSCS;"之后、即使 P2DIR.0在寄存器设置中仍然为1。 但是、它的运行方式与 P2DIR.0=0 (针对上拉或下拉的低电流能力;而不是技术规格中的6mA 上拉或下拉电流能力)相似。 在 EVM 上进行了验证:我们设置了几个断点来检查 P2DIR.0值并确认:在寄存器设置中 P2DIR.0仍然为1。 但是、如果 P2REN.0=1、它的运行方式就像 P2DIR.0=0。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    顺便说一下、我在南校园实验室。 如果您想看一下、我可以向您展示。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Bruce、

    "DIR 位显式禁用内部下拉。" 根据测试结果、我的理解是:如果 PxREN.x = 1 (设置为内部上拉电阻)、DIR 位不起作用(无论寄存器值中的"0"或"1"、其行为都类似于"0"(输入设置)设置)。 您确认吗?

    谢谢、
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我在 FR2433 Launchpad 上尝试过相同的实验,但我看不到上面描述的症状-- DMM 在应用20K 外部上拉后继续读出0.000。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我无法确认/拒绝违反规范的行为;我需要将此行为留给(TI)设计人员处理。 该行为似乎与数据表中的原理图相匹配。

    我应该指出、将 REN 应用于输出引脚是一种异常用法。 我试图避免它;我之前以为我是无意中完成了它(没有奇怪的效果)、但这可能不在 F2系列 MCU 上。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢你的帮助。 我现在可以关闭这个线程。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Wang、

    不幸的是,我不能来,我来自德国;)

    我知道您的问题已经解决、但我对解决方案感兴趣、这可能也会对其他人有所帮助。

    我是不是正确的、您设置 PxREN 位并清除 PxOUT 位? 引脚输出是否仍然为低电平?

    感谢您分享您的解决方案和此致、

    Britta