我做了个小测试,将P1_6拉低和置高,用LED作为指示,但发现当P1_6为低电平时系统识别不出来
下面是我的测试程序:
void led_init()//led 初始化
{
P2DIR|=0X01;//LED
led=0;
P1DIR=0X0F;//P1_6
//P1=0XFF;
}
void main()
{
led_init();
while(1)
{
if(P1_6==0)
led=0;
else led=1; }
}
通过 断点发现根本没有进入低电平的程序。
请问各位大神,这是怎么回事啊?
da qin zheng sheng:
if(P1_6==0)替换成if(!P1_6)
da qin zheng sheng:
可能编译设置有问题!
Amos Chen:
回复 da qin zheng sheng:
谢谢了,@大秦正声,不过还是不行,情况还是一样的,程序走到 if (!P1_6)就直接跳到了else,至于配置应该没问题,我试了其他的引脚如P1_5 、P1_7,
结果都是没问题的,只有这个引脚
da qin zheng sheng:
回复 Amos Chen:
可能这个引脚没有焊接好?换一块板子测试吧!
Amos Chen:
回复 da qin zheng sheng:
谢谢@大秦正声,不过我试了三块板子,结果都是一样的,纠结了,呵呵
wenzhong shen:
先用万用表量一下,P1.6引脚是否真的为低,怀疑你可能别的地方队p1.6的配置不对,导致确实没有拉低