avr单片机用读引脚电平用c怎么写 比如用A口读取几个开关量
展开全部
这个简单,我给你完整的回答。
首先需要将单片机引脚设置为输入,既然你有外部上拉,所以不用使能内部上拉。但是AVR单片机如果输入不使能上拉电阻设置为的端口就成了高阻态了,所以还是要使能上拉电阻的,而且即使使能上拉电阻也没问题的。然后直接读取引脚的值就行了。代码如下:
//-------------------------------------------------
unsigned char temp; //定义保存的变量
DDRA=0x00; //将端口A设置为输入
PORTA=0xff; //使能上拉电阻
temp=PINA; //读取端口A的状态
然后在程序例可以对读取的temp逐位处理你的开关量就行了
首先需要将单片机引脚设置为输入,既然你有外部上拉,所以不用使能内部上拉。但是AVR单片机如果输入不使能上拉电阻设置为的端口就成了高阻态了,所以还是要使能上拉电阻的,而且即使使能上拉电阻也没问题的。然后直接读取引脚的值就行了。代码如下:
//-------------------------------------------------
unsigned char temp; //定义保存的变量
DDRA=0x00; //将端口A设置为输入
PORTA=0xff; //使能上拉电阻
temp=PINA; //读取端口A的状态
然后在程序例可以对读取的temp逐位处理你的开关量就行了
展开全部
你是说设定输出输入?DDRA=0xff PORTA=0xff;这就设置成了输出。输入DDRA=0x00;PORTA=0xff;加上拉电阻。
追问
我是需要设置成输入方式 去读外部的开关量 外部有上拉 不需要内部的上拉
追答
不论什么单片机你去看看它的芯片资料,一下就知道怎回事了。百度一下,芯片资料,IO口设置什么都有了。一看便知。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
unsigned char temp;
temp=PINA;
temp=PINA;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询