第3章 CHAPTER 3
Arduino编程语言
Arduino编程语言是建立在C/C++语言基础上的,即以C/C++语言为基础,通过把AVR单片机(微控制器)相关的一些寄存器参数设置等进行函数化,以利于***更加快速地使用,其主要使用的函数包括: 数字I/O操作、模拟I/O操作、**I/O操作、时间、中断、通信和数学等多种函数。 3.1Arduino编程基础 Arduino的程序结构主要包括两部分: void setup()和void loop()。其中,前者是声明变量及引脚名称(例如: int val;int ledPin=13;),是在程序开始时使用,初始化变量、引脚模式、调用库函数等(例如: pinMode(ledPin,OUTUPT);)。而void loop(),是在setup()函数之后,voidloop()程序不断地循环执行,是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)。 1. setup() 当程序开始运行时,函数调用一次。用于在循环loop()开始执行之前定义初始环境属性,如引脚模式(INPUT或OUTPUT)、启动串行端口等。在setup()中声明的变量在loop()中是不可访问的。语法规则为void setup() {},举例如下:
void setup()
{
pinMode(8, OUTPUT);
Serial.begin(9600);
}
void loop()
{
Serial.print('.');
delay(1000);
}
2. loop() 连续执行包含在其内的代码行,直到程序停止。loop()函数与setup()一起使用。每秒执行loop()的次数可以用delay()和delayMicroseconds()函数来控制。 语法规则为loop() {},举例如下:
void setup()
{
pinMode(WLED, OUTPUT); //设置板载LED引脚为输出
}
void loop()
{
digitalWrite(WLED, HIGH); //设置LED为开
delay(1000); //延迟1s
digitalWrite(WLED, LOW); //设置LED为关
delay(1000); //延迟1s
}