如题,我用查询法读取S2的状态,只有我手摸着按键或者P1.3的时候才正常工作,这是为什吗?
#include
void main( void )
{
// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD;
P1DIR=~BIT3; //p1.3设为输入
P1REN=BIT3; //启用P1.3的上拉电阻
while(1){
if((P1IN&BIT3)==BIT3)//如果拉低
P1OUT|=(BIT6+BIT0); //LED亮
else
P1OUT=~(BIT6+BIT0); //LED灭
}
}
解决了,原来板子上没有弄上拉电阻的,需要启用内部上拉电阻,但是我看手册上画的有,真是坑爹啊
[ 本帖最后由 gaoyang9992006 于 2012-6-11 01:26 编辑 ]
如果P1的x位设置内部弱上拉可以写作
P1REN=BITx;
回复 7楼 千里千寻 的帖子
是啊,我发完贴了,才看到你的帖子,跟我的问题一样,原来电路图上有个外部上拉电阻的,结果他们省钱没有焊接,只能内部了,我一直都是当有外部上拉的。郁闷一天啊
回复 8楼 gaoyang9992006 的帖子
学习了 就是进步 这个看看别人的例子可以看到的 恭喜楼主