程序语法
Language
Arduino语言|Arduino函式库|Arduino/Processing语言比较|Arduino
IDE运作原理|ArduinoIDE启动错误
此语法部分网页编排内容来自于:Arduino官方网页
此篇作者:xlinx
Arduino语法
以下分为三个部份来解说:1.结构2.变数3.函式。
本书的印刷体材
在每一个函式都附有一小段的程序代码详细解说,符合当次的说明的相关函式,
会在程序代码中以粗黑体特别标明出来。
例如,在稍后的章节中会先介绍tup()和loop()这两个函式。
intbuttonPin=3;
voidtup()
{
beginSerial(9600);
pinMode(buttonPin,INPUT);
}
voidloop()
{
if(digitalRead(buttonPin)==HIGH)
rialWrite(’H');
el
rialWrite(’L');
delay(1000);
}
选单项目的表示法格式会如以下所示:
例如:要新增预设内建的LED范例程序代码,使用「File」->「File」->「File」
->「File」选单项目。
准备工作
在这一本说中所使用的所有程序都可以在网络上免费下载。
下面会列出几个必须知道的网站:
Arduino官方网站:
台湾Arduino乐园:
台湾Arduino乐园论坛:
Arduino
语言简介
1.结构
Arduino的语法结构必须包含以下两个function
voidtup()
在tup()函式中是初始化动作的区块,所有串行端口、脚位输出入皆在此宣告
voidloop()
loop()函式是版子重复执行动作的区块。
以上的两个扇区块就是开始ARDUINO程序的必要结构,而整体架构如下面这个样
子。
intledPin=13;//定义静态变量区(如:PIN脚位等)
voidtup()//tup()函示区块(大多都是用于定义脚位是输出或输入….等。)
{
….
}
voidloop()//loop()函示区块(Arduino里的ATMEL芯片,会不断重复执行的
区域。)
{
….
}
VariableDeclaration变量宣告
变量宣告方面,Arduino跟一般程序大同小异。
变量的宣告一定必须含有初始化的值,且值可以是由函式所获取的值。说明如下:
intinputVariable=0;//变量宣告必须给予初始值
inputVariable=analogRead(2);//变数的
FunctionDeclaration
函式的宣告在Arduino中支持变量的传递。不支持return任何型态的数值。
所以目前为止(version.007),函式的前方都是void型态。例如:
voidgetPinValue()
{….}
程序流程控制::ControlStructures
if
if…el
for
switchca
while
比较操作数::ComparisonOperators
==(相等::equalto)
!=(不相等::notequalto)
<(小于::lessthan)
>(大于::greaterthan)
<=(小于且等于::lessthanorequalto)
>=(大于且等于::greaterthanorequalto)
布尔值操作数::BooleanOperations
&&(布尔运算子::And)
||(布尔运算子::Or)
!(布尔运算子::Not)
其它关键符号::FurtherSyntax
;(分号::用于陈述式的结尾-micolon)
{}?(区块符号-curlybraces)
//(单行批注-singlelinecomment)
/**/(多行批注-multi-linecomment)
#define
2.变量、函式的宣告
变量型态::Variables
在ARDUINO编辑环境里,如果您以前有丰富的写程序经验,在某些特定变量的关
键词之下定义变量,请将环境设想从PC转到ARDUINOBORD上。
这个意思的范例如下:
intledPin=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
IntegerConstants
整数常数在Arduino语法表示是中<跟一般程序语言一样,是以十进制的基底为
普通表示方式。除了十进制之外,尚有二进制、八进位,以及十六进制,这些表
式的方式如下:
进位机底范例10(decimal)1232(binary)
B11110118(octal)017316(hexadecimal)0×7B
二进制表示式,范围最大限制为2的8次方,也就是0到255。(BinaryRange
表示方法如下:B00000000~B11111111)
3.
函式
Function
数字讯号::DigitalI/O
pinMode(pin,mode)//在tup()函式区块中,定义输出脚位和状态。
digitalWrite(pin,value)//在loop()函式区块中,定义数字输出脚位以及状态(通常是
常数HIGHT或LOW….等)。
intdigitalRead(pin)//在loop()函式区块中,读取数字脚位状态。
累毙讯号::AnalogI/O
intanalogRead(pin)
analogWrite(pin,value)-PWM
AdvancedI/O
shiftOut(dataPin,clockPin,bitOrder,value)
unsignedlongpulIn(pin,value)
时间功能::Time
unsignedlongmillis()
delay(ms)
delayMicroconds(us)
数学运算::Math
min(x,y)//将会回传较大值
max(x,y)//将会回传较小值
abs(x)//将会回传绝对值
constrain(x,a,b)//比较区间范围,比较过后回传判定值
随机数种子::RandomNumbers
randomSeed(ed)
longrandom(max)
longrandom(min,max)
ExternalInterrupts
这一个函式所提供的方法,类式MYSQL5.0版本以上所提供监视数据触发函式一
样。观念类似一支手枪,在扣板机之后,发现目标之后发射的行为。
在ARDUINO中您可以使用这一个函示监视一个输入,当数值改变时就会触发此一
类别的中断行为。
attachInterrupt(interrupt,function,mode)
detachInterrupt(interrupt)
串行端口::SerialCommunication
串行端口函式用于ARDUINO版子与计算机或其它装置的串行式沟通。
最常见的就是设定传输鲍率,之后沟通透过arduino板子上面数字Pin的第1(接
收Rx)和第2脚位(传送Tx)。
由于()函式必须在tup()区宣告,所以一旦使用此函式之后数字
Pin的第1和第2脚位,将不能够被其它输出使用。
(speed)
ble()
()
()
(data)
n(data)
文档编辑:圣徒
QQ31589634
本文发布于:2022-11-25 12:01:55,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/18332.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |