基本信息
文件名称:Arduino 系列:Arduino Due 系列 (基于 ATSAM3X8E)_(5).数字I-O操作.docx
文件大小:22.3 KB
总页数:19 页
更新时间:2025-06-17
总字数:约8.93千字
文档摘要

PAGE1

PAGE1

数字I/O操作

在ArduinoDue中,数字I/O操作是基础且重要的功能之一。通过数字I/O,可以实现对各种数字信号的输入和输出,从而控制外部设备或读取外部传感器的数据。本节将详细介绍如何使用ArduinoDue进行数字I/O操作,并提供具体的代码示例。

数字引脚概述

ArduinoDue提供了52个数字I/O引脚,这些引脚可以配置为输入或输出模式。每个引脚可以输出高电平(3.3V)或低电平(0V),也可以读取外部设备的高电平或低电平信号。

引脚模式配置

在使用数字引脚之前,需要通过pinMode()函数配置引脚的模式。常见的模式有:

INPUT:将引脚配置为输入模式。

OUTPUT:将引脚配置为输出模式。

INPUT_PULLUP:将引脚配置为内部上拉输入模式。

代码示例:配置引脚模式

voidsetup(){

//将引脚13配置为输出模式

pinMode(13,OUTPUT);

//将引脚2配置为输入模式

pinMode(2,INPUT);

//将引脚3配置为内部上拉输入模式

pinMode(3,INPUT_PULLUP);

}

voidloop(){

//在主循环中进行其他操作

}

数字信号输出

使用digitalWrite()函数可以向指定的数字引脚输出高电平或低电平信号。常见的输出值有:

HIGH:输出高电平(3.3V)。

LOW:输出低电平(0V)。

代码示例:控制LED

假设我们在引脚13连接了一个LED,可以通过以下代码控制LED的点亮和熄灭:

voidsetup(){

//将引脚13配置为输出模式

pinMode(13,OUTPUT);

}

voidloop(){

//点亮LED

digitalWrite(13,HIGH);

delay(1000);//延时1秒

//熄灭LED

digitalWrite(13,LOW);

delay(1000);//延时1秒

}

代码示例:控制多个LED

假设我们在引脚12、13和14上连接了三个LED,可以通过以下代码同时控制它们:

voidsetup(){

//将引脚12、13和14配置为输出模式

pinMode(12,OUTPUT);

pinMode(13,OUTPUT);

pinMode(14,OUTPUT);

}

voidloop(){

//点亮所有LED

digitalWrite(12,HIGH);

digitalWrite(13,HIGH);

digitalWrite(14,HIGH);

delay(1000);//延时1秒

//熄灭所有LED

digitalWrite(12,LOW);

digitalWrite(13,LOW);

digitalWrite(14,LOW);

delay(1000);//延时1秒

}

数字信号输入

使用digitalRead()函数可以从指定的数字引脚读取高电平或低电平信号。读取的值可以是:

HIGH:表示引脚为高电平。

LOW:表示引脚为低电平。

代码示例:读取按钮状态

假设我们在引脚2上连接了一个按钮,可以通过以下代码读取按钮的状态并控制LED的点亮和熄灭:

constintbuttonPin=2;//按钮连接的引脚

constintledPin=13;//LED连接的引脚

voidsetup(){

//将按钮引脚配置为输入模式

pinMode(buttonPin,INPUT);

//将LED引脚配置为输出模式

pinMode(ledPin,OUTPUT);

}

voidloop(){

intbuttonState=digitalRead(buttonPin);//读取按钮状态

//根据按钮状态控制LED

if(buttonState==HIGH){

digitalWrite(ledPin,HIGH);//点亮LED

}else{

digitalWrite(ledPin,LOW);//熄灭LED

}

}

代码示例:使用内部上拉电阻读取按钮状态

假设我们在引脚3上连接了一个按钮,并使用内部上拉电阻,可以通过以下代码读取按钮的状态并控制LED的点亮和熄灭:

const