avr单片机用读引脚电平用c怎么写 比如用A口读取几个开关量
答案:3 悬赏:0 手机版
解决时间 2021-11-25 08:59
- 提问者网友:我是女神我骄傲
- 2021-11-24 19:22
avr单片机用读引脚电平用c怎么写 比如用A口读取几个开关量
最佳答案
- 五星知识达人网友:空山清雨
- 2021-11-24 20:56
这个简单,我给你完整的回答。
首先需要将单片机引脚设置为输入,既然你有外部上拉,所以不用使能内部上拉。但是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逐位处理你的开关量就行了
全部回答
- 1楼网友:青尢
- 2021-11-24 22:49
unsigned char temp;
temp=PINA;
temp=PINA;
- 2楼网友:胯下狙击手
- 2021-11-24 21:43
你是说设定输出输入?DDRA=0xff PORTA=0xff;这就设置成了输出。输入DDRA=0x00;PORTA=0xff;加上拉电阻。追问我是需要设置成输入方式 去读外部的开关量 外部有上拉 不需要内部的上拉追答不论什么单片机你去看看它的芯片资料,一下就知道怎回事了。百度一下,芯片资料,IO口设置什么都有了。一看便知。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯