极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 60895|回复: 11

arduino模拟输入端口A0改成数字输出

[复制链接]
发表于 2013-8-1 16:45:21 | 显示全部楼层 |阅读模式
使用ARDUINO时候,可能会用到数字端口不够用,模拟输入端口用不上的情况,可以在程序里直接写AVR 指令,把模拟输入改成数字输入输出,就是在编程的时候不能用到 ARDUINO 函数。例如以下程序,就是控制A0~A5端口上的灯闪烁。
int led = 13;
void setup() {                  
  pinMode(led, OUTPUT);
  DDRC=0xff;//端口C设置为输出
  PORTC=0x00;//端口C初始值设置为0  
  Serial.begin(9600);  
}

void loop() {
digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
PORTC=0xff;//点亮二极管
  Serial.println(PORTC);
  delay(1000);               // wait for a second
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  PORTC=0x00;//熄灭二极管
  Serial.println(PORTC);
  delay(1000);               // wait for a second
}
回复

使用道具 举报

发表于 2013-8-1 22:37:13 | 显示全部楼层
其实。。。模拟口可以很方便的直接当数字口用。。。A0=14 A1=15 A2=16以此类推。。。使用方法和使用数字端口一样
回复 支持 2 反对 0

使用道具 举报

发表于 2013-8-1 22:32:19 | 显示全部楼层
恩 我还真没单独玩过AVR  
回复 支持 反对

使用道具 举报

发表于 2013-8-1 23:28:39 | 显示全部楼层
楼上的方法比较简单
回复 支持 反对

使用道具 举报

发表于 2013-8-2 01:54:48 | 显示全部楼层
这段程序完全不必要,模拟输入口可以直接当数字输入和输出口来用,引脚号可以直接用A0到A5,或者14-19都行。
回复 支持 反对

使用道具 举报

发表于 2014-2-8 16:22:04 | 显示全部楼层
弘毅 发表于 2013-8-1 22:37
其实。。。模拟口可以很方便的直接当数字口用。。。A0=14 A1=15 A2=16以此类推。。。使用方法和使用数字端口 ...

。。感动的哭了。。
回复 支持 反对

使用道具 举报

发表于 2014-10-7 09:31:15 | 显示全部楼层
太好了,非常感谢,就在为这个问题发愁呢!
回复 支持 反对

使用道具 举报

发表于 2015-7-6 23:11:56 来自手机 | 显示全部楼层
正在为数字io不够用发愁呢!呵呵,看到这条消息又多了几个!哈哈!!
回复 支持 反对

使用道具 举报

发表于 2016-1-9 08:53:11 | 显示全部楼层
正好用到,谢谢
回复 支持 反对

使用道具 举报

发表于 2018-8-8 23:57:50 | 显示全部楼层
弘毅 发表于 2013-8-1 22:37
其实。。。模拟口可以很方便的直接当数字口用。。。A0=14 A1=15 A2=16以此类推。。。使用方法和使用数字端 ...

大佬 我遇到的问题里几乎都有你的解答,你的解答每次都能解决我的问题 菜鸟之友
回复 支持 反对

使用道具 举报

发表于 2019-11-9 10:36:20 | 显示全部楼层
我的nano一下多了8个数字端口
回复 支持 反对

使用道具 举报

发表于 2019-11-20 11:18:29 | 显示全部楼层
这个不错,正好在找。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-3-28 23:19 , Processed in 0.075639 second(s), 30 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表