找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4370|回复: 1
收起左侧

ARDUINO程序语法

[复制链接]
ID:329050 发表于 2018-5-13 19:19 | 显示全部楼层 |阅读模式
程序语法
Language
Arduino语言 | Arduino函式库 | Arduino/Processing语言比较 | Arduino
IDE运作原理
| Arduino IDE启动错误
此语法部分网页编排内容来自于: Arduino官方网页
此篇作者: xlinx
Arduino语法
以下分为三个部份来解说: 1. 结构 2. 变数 3. 函式。
本书的印刷体材
在每一个函式都附有一小段的程序代码详细解说,符合当次的说明的相关函式,
会在程序代码中以粗黑体特别标明出来。
例如,在稍后的章节中会先介绍setup()和loop()这两个函式。
int buttonPin = 3;
void setup()
{
beginSerial(9600);
pinMode(buttonPin, INPUT);
}
void loop()
{
if (digitalRead(buttonPin) == HIGH)
serialWrite(’ H');
else
serialWrite(’ L');
delay(1000);
}
选单项目的表示法格式会如以下所示:
例如:要新增预设内建的LED范例程序代码,使用「 File」 ->「 File」 ->「 File」
->「 File」选单项目。

准备工作
在这一本说中所使用的所有程序都可以在网络上免费下载。
下面会列出几个必须知道的网站:
Arduino官方网站: http://arduino.cc
Arduino语言简介
1. 结构
Arduino 的语法结构必须包含以下两个function
void setup()
在setup()函式中是初始化动作的区块,所有串行端口、脚位输出入皆在此宣告
void loop()
loop()函式是版子重复执行动作的区块。
以上的两个扇区块就是开始ARDUINO程序的必要结构, 而整体架构如下面这个样
子。
int ledPin = 13;
//定义静态变量区(如:PIN脚位等)
void setup() //setup()函示区块(大多都是用于定义脚位是输出或输入….等。)
{
….
}
void loop()
//loop()函示区块(Arduino里的ATMEL芯片,会不断重复执行的
区域。 )
{
….
}
VariableDeclaration变量宣告
变量宣告方面, Arduino跟一般程序大同小异。
变量的宣告一定必须含有初始化的值, 且值可以是由函式所获取的值。 说明如下:
int inputVariable = 0;
//变量宣告必须给予初始值
inputVariable = analogRead(2); //变数的
FunctionDeclaration
函式的宣告在Arduino中支持变量的传递。不支持return任何型态的数值。
所以目前为止(version.007),函式的前方都是void型态。例如:
void getPinValue()
{ …. }
程序流程控制::Control Structures
if
if…else
for
switchcase
while
比较操作数::Comparison Operators
==(相等::equalto)
!=(不相等::not equalto)
<(小于::lessthan)
>(大于::greaterthan)
<=(小于且等于::lessthanorequalto)
>=(大于且等于::greaterthanor equalto)
布尔值操作数::Boolean Operations

&&(布尔运算子::And)
||(布尔运算子::Or)
!(布尔运算子::Not)
其它关键符号::Further Syntax
;(分号::用于陈述式的结尾 -semicolon)
{}?(区块符号 -curlybraces)
//(单行批注 -singlelinecomment)
/**/(多行批注 -multi-linecomment)
#define
2. 变量、函式的宣告
变量型态::Variables
在ARDUINO编辑环境里, 如果您以前有丰富的写程序经验, 在某些特定变量的关
键词之下定义变量,请将环境设想从PC转到ARDUINO BORD上。
这个意思的范例如下:
int ledPin = 13;
pinMode(ledPin, OUTPUT);
//ledPin指向一个IO输出埠。
其它一些常见的变量(如:字符、整数、数组),我们可以用来暂存从模拟输入脚
位中所截取到的数据。
char
byte
int
long
float?
string?
array
固定变量(常数)::Constants
硬件语言常用的脚位高低电位定义, 在此ARDUINO定义了以下几个常用的电子属
性(电位高低、输入输出埠)和数值转换的表示法(如:16进制为=0xFF….等)。
HIGH|LOW
在逻辑方面, 固定常数的定义在Arduino语法中, 目的是为了使程序代码更容易
被阅读。数字脚位唯一的两个状态,分别为高电位(HIGHT)以及低电位(LOW)。 这
通常也可以表式成TRUE或者是整数1。
INPUT|OUTPUT
Integer Constants
整数常数在Arduino语法表示是中<跟一般程序语言一样,是以十进制的基底为
普通表示方式。除了十进制之外,尚有二进制、八进位,以及十六进制,这些表
式的方式如下:
进位机底 范例10 (decimal) 1232 (binary)
B11110118 (octal) 017316 (hexadecimal) 0×7B

二进制表示式,范围最大限制为2的8次方,也就是0到255。 (Binary Range
表示方法如下:B00000000 ~ B11111111)
3. 函式 Function
数字讯号::Digital I/O
pinMode(pin,mode) //setup()函式区块中,定义输出脚位和状态。
digitalWrite(pin,value)//loop()函式区块中,定义数字输出脚位以及状态(通常是
常数
HIGHTLOW….等) 。
intdigitalRead(pin)//loop()函式区块中,读取数字脚位状态。
累毙讯号::Analog I/O
intanalogRead(pin)
analogWrite(pin,value)-PWM
AdvancedI/O
shiftOut(dataPin,clockPin,bitOrder,value)
unsignedlongpulseIn(pin,value)
时间功能::Time
unsignedlongmillis()
delay(ms)
delayMicroseconds(us)
数学运算::Math
min(x,y) //将会回传较大值
max(x, y) //将会回传较小值
abs(x)//将会回传绝对值
constrain(x, a,b) //比较区间范围,比较过后回传判定值
随机数种子::Random Numbers
randomSeed(seed)
long random(max)
long random(min, max)
External Interrupts
这一个函式所提供的方法, 类式MYSQL 5.0版本以上所提供监视数据触发函式一
样。观念类似一支手枪,在扣板机之后,发现目标之后发射的行为。
在ARDUINO中您可以使用这一个函示监视一个输入, 当数值改变时就会触发此一
类别的中断行为。
attachInterrupt(interrupt, function, mode)
detachInterrupt(interrupt)
串行端口::SerialCommunication
串行端口函式用于ARDUINO版子与计算机或其它装置的串行式沟通。
最常见的就是
设定传输鲍率,之后沟通透过arduino板子上面数字Pin的第1( 接
收Rx)和第2脚位(传送Tx)。
由于Serial.begin()函式必须在setup()区宣告, 所以一旦使用此函式之后数字
Pin的第1和第2脚位,将不能够被其它输出使用。
Serial.begin(speed)

int Serial.available()

int Serial.read()

Serial.flush()
Serial.print(data)
Serial.println(data)
文档编辑:圣徒

Arduino程序语法.pdf

221.53 KB, 下载次数: 18, 下载积分: 黑币 -5

回复

使用道具 举报

ID:220718 发表于 2018-5-14 05:30 | 显示全部楼层
谢谢分享啦。
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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