单片机/MCUwilliam hill官网
直播中

mzh2630

11年用户 63经验值
擅长:模拟技术 控制/MCU
私信 关注
[问答]

求助IO口无法检测到输入状态

已经困扰了我好几天了,我要做一个循迹小车 现在遇到的问题是 传感器检测到黑线而且传回高电平到A口 但是A口不读取这个电平 就是说检测A口的话他的电平不变化 这是我的部分程序 有什么问题请大神指点。。感激不尽!!
void IOinit(void)
{

DDRA |= 0x00; //PA口输入
PORTA = 0x00;
DDRB=0xFF; //PB口输出
PORTB=0Xff;
DDRD=0xFF; //PD 输出
PORTD|=0x30;
}
……
void main(void)
{
delay_long(50);
IOinit();
T1init();
while(1)
{
if(PINA==0x04) //中间左灯
{
PORTB=0x00;
}
if(PINA==0x02) //中间右灯
{
PORTB=0x00;
}
}

}
MAIN函数这么写是为了检测A口到底有没有读到电平 现在的结果是 传感器有反应有电平变化 但是接到A口 A口无法读取这种电平变化。B的电平就不改变。。求解这是为什么?

回帖(3)

skbljs2652

2013-10-30 22:38:07
检查一下你的针脚配置的输入输出是否正确~~如果1是输出,0输入,那么DDRA |= 0x00;这句话设置输入,是不是应该按位与
举报

mzh2630

2013-10-31 12:25:15
引用: skbljs2652 发表于 2013-10-30 22:38
检查一下你的针脚配置的输入输出是否正确~~如果1是输出,0输入,那么DDRA |= 0x00;这句话设置输入,是不是 ...

我是让IO口设置为输入状态  然后接一个传感器  由传感器传给IO口 高低电平的信息  但是现在IO口无法接收到这种信息。。。为什么呢
举报

颜聪

2013-11-1 18:51:31
你先确定信号到底传达了A口的引脚没有,然后就是换个IO试试,有可能IO烧了。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分