c语言中pinMode的作用,Arduino编程基础与常用函数(详细)解析

您所在的位置:网站首页 arduino输入输出是什么意思 c语言中pinMode的作用,Arduino编程基础与常用函数(详细)解析

c语言中pinMode的作用,Arduino编程基础与常用函数(详细)解析

2024-07-09 15:15| 来源: 网络整理| 查看: 265

Arduino编程基础

关键字:

if、if…else、for、switch、case、while、do…while、break、continue、return、goto。

语法符号:每条语句以“;”结尾,每段程序以“{}”括起来。

数据类型:

boolean、 char、 int、 unsigned int、 long、 unsigned long、 float、 double、 string、 array、 void。

常量:

HIGH 或者 LOW,表示数字I/O引脚的电平,

HIGH 表示高电平(1),

LOW 表示低电平(0);

INPUT 或者 OUTPUT,表示数字I/O引脚的方向,

INPUT 表示输入(高阻态),

OUTPUT 表示输出(AVR能提供5V电压,40mA电流);

TRUE 或者 FALSE,TRUE表示真(1),FALSE表示假(0)。

程序结构:

主要包括两部分,即void setup()和void loop()。

其中,前者是声明变量及引脚名称(如int val;int ledPin=13),在程序开始时使用,初始化变量和引脚模式,调用库函数如pinMode(ledPin,OUTPUT)等,

setup()函数全程只执行一次,只在你初始设置时执行一次。

而void loop()用在setup()函数之后,不断地循环执行,是Arduino的主体。

数字I/O引脚的操作函数

pinMode(pin, mode)

pinMode函数用于配置引脚以及设置输出或输入模式,是一个无返回值函数。该函数有两个参数: pin和mode。pin参数表示要配置的引脚;

mode 参数表示设置该引脚的模式为INPUT(输入)或OUTPUT(输出)。

INPUT 用于读取信号,OUTPUT用于输出控制信号。

pin的范围是数字引脚0到13,也可以把模拟引脚(A0~A5)作为数字引脚使用,此时编号为14的引脚对应模拟引脚0,编号为19的引脚对应模拟引脚5。

该函数一般会放在setup()里,先设置再使用。

digitalWrite(pin, value)

该函数的作用是设置引脚的输出电压为高电平或低电平,也是一个无返回值的函数。pin 参数表示所要设置的引脚;

value参数表示输出的电压为HIGH(高电平)或LOW(低电平)。 注意:使用前必须先用pinMode设置。

digitalRead(pin)

该函数在引脚设置为输入的情况下,可以获取引脚的电压情况:HIGH(高电平)或者LOW(低电平)。

数字I/O引脚操作函数使用例程如下:

int button= 9;//设置引脚9为按钮输人引脚

int LED= 13;//设置引脚13为LED输出引脚,内部连接开发板上的LED

void setup( )

{ pinMode( button, INPUT);//设置为输人

pinMode( LED, OUTPUT) ;//设置为输出

void loop()

{

if(digitalRead( button) == LOW) //如果读取高电平

digitalWrite(LED, HIGH); //引脚 13输出高电平

else :

digitalWrite(LED, LOW); // 否则输出低电平

}

模拟I/O引脚的操作函数

1.analogReference(type)

该函数用于配置模拟引脚的参考电压。它有三种类型:DEFAULT是默认模式,参考电压是5V;INTERNAL是低电压模式,使用片内基准电压源2.56V;EXTERNAL是扩展模式,通过AREF引脚获取参考电压。

注意:若不使用本函数,默认是参考电压5V。若使用AREF作为参考电压,需接一个5kΩ的上拉电阻。

2.analogRead(pin)

用于读取引脚的模拟量电压值,每读取一次需要花100μs的时间。参数pin表示所要获取模拟量电压值的引脚,返回为int型。它的精度为10位,返回值为0~1023。

注意:函数参数pin的取值范围是0~5,对应开发板上的模拟引脚A0~A5。

3.analogWrite(pin, value)

该函数是通过PWM(Pulse-WidthModulation,脉冲宽度调制)的方式在引脚上输出一个模拟量。图1-23所示为PWM输出的一般形式,也就是在一个脉冲的周期内高电平所占的比例。它主要应用于LED亮度控制、直流电机转速控制等方面。

占空比的定义

79c2b52d8a8b6d67b0ebc292c6da01ac.png

注:

PWM波形的特点是波形频率恒定,占空比D可以改变。Arduino中的PWM的频率大约为490Hz,Arduino UNO开发板支持以下数字引脚(不是模拟输入引脚)作为PWM模拟输出:3、5、6、9、10、11。开发板带PWM输出的都有一个波浪线形的符号。

注意:PWM输出位数为8位,即0~255。

模拟I/O引脚的操作函数使用例程如下:

int sensor = A0;//A0 5IJAI it EXEt fi 5i

int LED= 11;//引脚11输出LED

void setup( )

{

Serial. begin(9600);

}

void loop()

{

int v;

v = analogRead( sensor);

Serial. pr intln(v, DEC);//可以观察读取的模拟量

analogWrite(LED, v/4);//读回的值范围是0~1023,结果除以4才能得到0~ 255的区间值

}

时间函数

delay()

该函数是延时函数,参数是延时的时长,单位是ms(毫秒)。应用延时函数的典型例程是跑马灯的应用,使用Arduino开发板控制4个LED依次点亮。

程序如下:

void setup( )

{

pinMode( 6, OUTPUT) ;//定义为输出

pinMode( 7, OUTPUT) ;

pinMode( 8, OUTPUT) ;

pinMode(9, OUTPUT);]

}

void loop()

{

int i;

for(i= 6;i



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3