heuchufuyue 发表于 2012-12-8 22:07:01

关于PXIN 寄存器的问题。非常急,尝试了半小时没有找到规律

PXIN(我用的是P1IN)寄存器有没有确定的初始值?如果有的话是什么?当然我是说在外部没有连接东西的时候。在TI给的用户手册上它的初始值写的是“——”。还有就是当P1设置为输出状态时,P1IN的值是随什么变化呢?还是说保留着更改方向之前的值??谢谢大家了先

heuchufuyue 发表于 2012-12-9 09:13:58

没人回复,我很忧桑啊{:cry:},我是遇到别人写的一个键盘扫描的程序,键盘连到了P1口,程序最初几行是:
   PIDIR=0xf0;
    P1OUT |=0xf0;
   uchar tmp;
    P1OUT &= 0x00;            // 设置P1OUT全为0,等待按键输入
   tmp = P1IN;               // 获取 p1IN
    if ((key_Pressed == 0x00)&&((tmp & 0x0f) < 0x0f)) //如果有键按下

我不懂的是“(tmp & 0x0f) < 0x0f”这一句的意思岂不是说P1IN的低四位的值默认就是1了?

qiuchen 发表于 2012-12-10 14:21:02

PXIN是反映对应引脚的电平状态,上电的时候引脚是三态的,所以无法确定;要是悬空的话就更无法确定了。如果设置成输出,也是反映相应引脚电平的。
你说的那句话是取低四位与0X0F相比较。

heuchufuyue 发表于 2012-12-10 19:31:31

qiuchen 发表于 2012-12-10 14:21 static/image/common/back.gif
PXIN是反映对应引脚的电平状态,上电的时候引脚是三态的,所以无法确定;要是悬空的话就更无法确定了。如果 ...

懂了,谢谢。{:handshake:}
页: [1]
查看完整版本: 关于PXIN 寄存器的问题。非常急,尝试了半小时没有找到规律