avr单片机用读引脚电平用c怎么写 比如用A口读取几个开关量

如题所述

这个简单,我给你完整的回答。
首先需要将单片机引脚设置为输入,既然你有外部上拉,所以不用使能内部上拉。但是AVR单片机如果输入不使能上拉电阻设置为的端口就成了高阻态了,所以还是要使能上拉电阻的,而且即使使能上拉电阻也没问题的。然后直接读取引脚的值就行了。代码如下:
//-------------------------------------------------
unsigned char temp; //定义保存的变量
DDRA=0x00; //将端口A设置为输入
PORTA=0xff; //使能上拉电阻
temp=PINA; //读取端口A的状态

然后在程序例可以对读取的temp逐位处理你的开关量就行了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-02-24
你是说设定输出输入?DDRA=0xff PORTA=0xff;这就设置成了输出。输入DDRA=0x00;PORTA=0xff;加上拉电阻。追问

我是需要设置成输入方式 去读外部的开关量 外部有上拉 不需要内部的上拉

追答

不论什么单片机你去看看它的芯片资料,一下就知道怎回事了。百度一下,芯片资料,IO口设置什么都有了。一看便知。

第2个回答  2011-02-25
unsigned char temp;
temp=PINA;
相似回答