arduino笔记10:基本函数 数字I/O 模拟I/O

(一)数字I/O1)pinMode(pin,mode)描述:将指定的引脚配置成输出或输入。语法:pinMode(pin,mode)。参数:pin,要设置模式的引脚;mode,INPUT或OUTPUT。程序示例:LEDPin = 13void setup(){pinMode(LEDPin,OUTPUT);}void loop(){digitalWr...
摘要由CSDN通过智能技术生成

 

目录

(一)数字I/O

1)pinMode(pin,mode)

2)digitalWrite(pin,value)

3)int digitalRead(pin)

(二)模拟I/O

1)analogReference(type)

2)analogRead()

3)analogWrite()

(三)高级I/O

1)tone()

2)noTone()

3)ShiftOut()

4)shiftIn()

5)pulseIn()

(四)时间函数

1)millis()

2)micros()

3)delay()

4)delayMicroseconds()

(五)数学函数

(六)三角函数

(七)外部中断函数

(八)中断使能函数

(九)串口收发函数


(一)数字I/O

1)pinMode(pin,mode)

描述:将指定的引脚配置成输出或输入。

语法:pinMode(pin,mode)。

参数:pin,要设置模式的引脚;mode,INPUT或OUTPUT。

程序示例:

LEDPin = 13
void setup()
{
pinMode(LEDPin,OUTPUT);
}
void loop()
{
digitalWrite(LEDPin,HIGH);
delay(1000);
digitalWrite(LEDPin,LOW);
delay(1000);
}

其实还可以设置为上拉电阻模式。

注意:模拟输入引脚也能当作数字引脚使用。

2)digitalWrite(pin,value)

描述:给一个数字引脚写入HIGH或者LOW。如果一个引脚已经使用pinMode()函数配置为OUTPUT模式,其电压将被设置为相应的值,HIGH为5V(3.3V控制板上为3.3V),LOW为0V。

如果引脚配置为INPUT模式,使用digitalWrite()写入HIGH值,将使内部20k欧姆上拉电阻接入。写入LOW将会禁用上拉。上拉电阻可以点亮一个LED,让其微微亮。如果出现LED工作,但是亮度很低,这种情况可能即使由上拉电阻引起的。补救的办法是使用pinMode()函数设置为输出引脚。

数字13号引脚难以作为数字输入使用,因为大部分的控制板上使用了一颗LED和一个电阻与其链接。如果启动内部的20k欧姆的上拉电阻,其电压将在1.7V左右,而不是正常的5V,因为板载LED串联的电阻使其电压降了下来,因此其返回值总是LOW。如果必须使用数字13号引脚的输入模式,则需要使用外部上拉和下拉电阻。

 

3)digitalRead(pin)

描述:读取指定引脚的值,HIGH或LOW。

语法:digitalRead(PIN)。

参数:pin,想读取数值的引脚号(int)。

返回:HIGH或者LOW。

程序示例:

//将引脚13设置为输入引脚7的值
LEDPin = 13           //LED连接到引脚13
int inPin = 7;        //按钮连接道数字引脚7      
int val = 0;          //定义变量以存储读取值
void setup()
{
pinMode(LEDPin,OUTPUT);
pinMode(inPin,INPUT);
}
void loop()
{
val = digitalRead(inPin);  //读取输入引脚的值
digitalWrite(LEDPin,val);
}

 

 

 

 

(二)模拟I/O

1)analogReference(type)

描述:设定用于模拟输入的基准电压(输入范围的最大值)。

type的可选值为:

  • DEFAULT - 5伏(5V Arduino板)或3.3伏(3.3V Arduino板)的默认模拟参考值

  • INTERNAL - 内置参考,在ATmega168或ATmega328上等于1.1伏特,在ATmega8上等于2.56伏特(不适用于Arduino Mega)

  • INTERNAL1V1 - 内置1.1V参考(仅限Arduino Mega)

  • INTERNAL2V56 - 内置2.56V参考(仅限Arduino Mega)

  • EXTERNAL - 施加到AREF引脚的电压(仅限0到5V)用作参考

注意:改变基准电压后,之前从analogRead()读取的数据可能不准确。

注意:对AREF引脚的外部参考电压,请勿使用小于0V或大于5V的任何值。如果在AREF引脚上使用外部参考,则必须在调用 analogRead()函数之前将模拟参考设置为EXTERNAL。否则,将短路有效参考电压(内部产生的)和AREF引脚,可能会损坏Arduino板上的微控制器。

  • 4
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值