微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 新人求助,AVR位操作时出现的问题

新人求助,AVR位操作时出现的问题

时间:10-02 整理:3721RD 点击:
问题描述:我用PA4口接按键,用PA3接led灯。但最后,无论按不按按键,灯都不亮。我用万用表一测,发现3、4口开始都为高电平3.6V,按下按键后,PA4口变成低电平0.27V,PA3口没变,还是3.6V。这是怎么回事?我的PIN用的对吗?
问题代码如下:
#include <iom128v.h>
#include <macros.h>
#define  uchar unsigned char
#define  uint  unsigned int
main()
{
DDRA|=BIT(PA3);//1输出
DDRA&=~BIT(PA4);//0输入
PORTA|=BIT(PA4);//1
PORTA&=~BIT(PA3);//0
while(1)
{
if(!(PINA&=~BIT(PA4)))//0
{PORTA|=BIT(PA3);}//1
}
}

大神们,快来帮忙呀,我还设置了奖励呀!

问题已从百度解决,下面是成功的程序代码
#include <iom128v.h>
#include <macros.h>
#define  uchar unsigned char
#define  uint  unsigned int

main()
{
DDRA|=BIT(3);//1输出
DDRA&=~BIT(4);//0输入
PORTA|=BIT(4);//1
PORTA&=~BIT(3);//0
while(1)
{
if((PINA&BIT(PA4))==0)
{PORTA|=BIT(3);}//1
else
{
    PORTA&=(~BIT(PA3));
}
}
}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top