工具/软件:Code Composer Studio
您好!
我正在尝试下拉 P2.0引脚(在代码中将其称为 nSCS 引脚)。 但是、我无法通过设置输出引脚将其拉低。 您能帮我发现我的代码有任何问题吗?
P2SEL &=~(nSCS);
P2SEL2 &=~(nSCS);
P2DIR |=(nSCS);
P2OUT &=~(nSCS);
但是、如果我添加了3k 外部下拉电阻器、我可以看到 P2.0引脚(nSCS 引脚)被下拉。
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.
工具/软件:Code Composer Studio
您好!
我正在尝试下拉 P2.0引脚(在代码中将其称为 nSCS 引脚)。 但是、我无法通过设置输出引脚将其拉低。 您能帮我发现我的代码有任何问题吗?
P2SEL &=~(nSCS);
P2SEL2 &=~(nSCS);
P2DIR |=(nSCS);
P2OUT &=~(nSCS);
但是、如果我添加了3k 外部下拉电阻器、我可以看到 P2.0引脚(nSCS 引脚)被下拉。
我只需将此代码放在 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; }
我将此代码放在 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; }
我想我开始看到您在谈论什么。 我在 P2.0上放置了一个弱(20K)外部上拉电阻、电压确实上升到了大约2V。 您是否在 P2.0上有外部上拉电阻器?
由于我很确定我之前已经完成了这项工作、我返回到了数据表中。 G2553数据表(SLAS735J)第50页(无图编号)显示、内部下拉仅由 REN 位控制、通过外部上拉设置分频器。 我与 FR2355数据表(SLACEC4B)进行了比较图 6-4、其中看起来 DIR 位显式禁用内部下拉。 建议是 FR2上的相同代码是可以的。
我不确定是哪种器件采用哪种方式来实现它。 我想(当然不满意)答案是"不要这样做"。
[无论如何,我现在已超出了我的权限。]
[编辑:修正了一些术语。]