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

2019-07-15 21:54发布

已经困扰了我好几天了,我要做一个循迹小车 现在遇到的问题是 传感器检测到黑线而且传回高电平到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
1楼-- · 2019-07-16 00:02
 精彩回答 2  元偷偷看……
mzh2630
2楼-- · 2019-07-16 05:01
skbljs2652 发表于 2013-10-30 22:38
检查一下你的针脚配置的输入输出是否正确~~如果1是输出,0输入,那么DDRA |= 0x00;这句话设置输入,是不是 ...

我是让IO口设置为输入状态  然后接一个传感器  由传感器传给IO口 高低电平的信息  但是现在IO口无法接收到这种信息。。。为什么呢
qq729101414
3楼-- · 2019-07-16 07:17
你先确定信号到底传达了A口的引脚没有,然后就是换个IO试试,有可能IO烧了。

一周热门 更多>