P2.0/P2.1与P3.0/P3.1有什么区别,为什么P2做输入就正常?

2019-07-15 10:04发布

各位大神,我有个疑惑想请教下:

我需要使用两个端口作为输入,根据电平高低对变量OC赋值,先前使用

P3端口,一直无法正常输入,换成P2就完全正常了(事先都置1了)。
难道P3.0/P3.1具有第二功能Tx/Rx,就不能作为普通的输入口,可是很

多教材上不是都写了任何Port口都能做I/O吗?

期待大神解答。

以下是能够正常工作的代码(使用P2口):
uchar ocscan(void)
{
        uchar oc;
        switch(P2)
        {
        case(0xff): oc=1;break;
        case(0xfe): oc=2;break;
        case(0xfd): oc=3;break;
        default:break;
        }
        return(oc);
}

以下是不能工作的代码(使用P3口):
uchar ocscan(void)
{
        uchar oc;
        switch(P3)
        {
        case(0xff): oc=1;break;
        case(0xfe): oc=2;break;
        case(0xfd): oc=3;break;
        default:break;
        }
        return(oc);
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。