本帖最后由 jacky_xs1 于 2013-1-24 12:27 编辑
跪求各位大虾,PIC芯片能不能判断I/O口电平状态?比如我将RB1设为输入,在程序中能否通过if(PIN_B1==1)来判断该口的电平高低?我自己做了一个实验,貌似不行,程序如下:
void main()
{
set_tris_a(0xfc);
set_tris_b(0xf2);
//port_b_pullups(TRUE);
while(1)
{
if((PIN_B1==1)||(PIN_B4==1)||(PIN_B6==1)||(PIN_B7==1))
{
output_low(PIN_A1);
delay_ms(1000);
}
else
{
output_high(PIN_A1);
delay_ms(1000);
}
}
}
其中RB1,RB4,RB6,RB7都设为输入,RA1设为输出。但结果显示RA1只输出高电平,没有输出低电平。 |