您的位置:首页 > 产品设计 > UI/UE

Arduino编程参考手册-官方文档

2013-05-30 00:00 1106 查看
本文档由Arduino官方文档翻译而来,感谢[b]作者:柴树杉[翻译整理] (chaishushan@gmail.com )[/b]

Arduino开发语言提供全部的C语言特性和C++语言的部分特性. 通过链接到 AVR的libc库online~, 可以使用库中提供的函数. 具体的应用细节请参考相关文档.

程序结构

在Arduino中, 标准的程序入口main函数在内部被定义, 用户只需要关心以下两个函数:

void setup()

void loop()

setup() 函数用于初始化, loop() 函数用于执行. 初始化函数一般放在程序开头, 用于设置一些引脚的输出/输入模式, 初始化串口通讯等类似工作. loop() 函数中 的代码将被循环执行, 例如: 读入引脚状态, 设置引脚输出状态等.

控制语句

if

if...else

for

switch

while

do...while

break

continue

return

goto

相关语法

; (分号)

(大括号)

// (单行注释)

/* * / (多行注释)

#define

#include

算术运算符

= (赋值)

+ (加)

- (减)

* (乘)

/ (除)

% (取模)

比较运算符

== (等于)

!= (不等于)

< (小于)

> (大于)

<= (小于等于)

>= (大于等于)

布尔运算符

&& (逻辑与)

|| (逻辑或)

! (逻辑非)

指针运算符

* 指针运算符

& 地址运算符

位运算

& (位与)

| (位或)

^ (位异或)

~ (位非)

<< (左移)

>> (右移)

端口操作

复合运算符

++ (自加)

-- (自减)

+= (复合加)

-= (复合减)

*= (复合乘)

/= (复合除)

&= (复合与)

|= (复合或)

变量

常量

HIGH | LOW

INPUT | OUTPUT

true | false

整数常量

浮点数常量

数据类型

void(无类型)

boolean(布尔型)

char(字符型)

unsigned char(无符号字符型)

byte(字节型)

int(整型)

unsigned int(无符号整型)

long(长整型)

unsigned long(无符号长整型)

float(单精度)

double(双精度)

string(字符串)

array(数组)

数据类型转换

char()

byte()

int()

word()

long()

float()

变量作用域&修饰符

变量作用域

static (静态变量)

volatile (易变变量)

const (不可改变变量)

辅助工具

sizeof() (sizeof运算符)

ASCII码表

基本函数

数字I/O

pinMode(pin, mode)

digitalWrite(pin, value)

digitalRead(pin)

模拟I/O

analogReference(type)

analogRead(pin)

analogWrite(pin, value) - PWM

高级I/O

shiftOut(dataPin, clockPin, bitOrder, val)

pulseIn(pin, state, timeout)

时间

millis()

delay(ms)

delayMicroseconds(us)

数学库

min(x, y)

max(x, y)

abs(x)

constrain(x, a, b)

map(x, in_min, in_max, out_min, out_max)

pow(base, exponent)

sqrt(x)

三角函数

sin(rad)

cos(rad)

tan(rad)

随机数

randomSeed(seed)

random(howbig)

random(howsmall, howbig)

位操作

lowByte()

highByte()

bitRead()

bitWrite()

bitSet()

bitClear()

bit()

设置中断函数

attachInterrupt(interrupt, function, mode)

detachInterrupt(interrupt)

开关中断

interrupts()

noInterrupts()

串口通讯

Serial.begin(speed)

Serial.available()

Serial.read()

Serial.flush()

Serial.print(data)

Serial.println(data)

扩展库

如果要使用一些已有的库, 可以选择菜单"Sketch->Import Library", 然后选择 相应的库. Sketch工具会自己在代码的开头包含库的头文件(#include).
在引入库之后, 程序的体积也将会增大(因为包含了库的代码). 对于不是必要的库, 直接删除对应的#include语句就可以了.

官方扩展库

以下是Arduino官方提供的扩展库, 被默认包含在开发工具中.

EEPROM - 读写EEPROM存储区.

Ethernet - 以太网支持.

Firmata - 基于串口的通讯协议.

LiquidCrystal - LCD液晶显示.

Servo - 伺服电机.

SoftwareSerial - 软件实现的串口, 可以选择任意引脚.

Stepper - 步进电机.

Wire - I2C协议支持.

Matrix - LED显示阵列控制.

Sprite - LED显示阵列中子块控制.

第三方扩展库

这里只包含了Roboduino扩展板的相关库, 其他的库信息请访问: Arduino在线文档 online~.
Roboduino扩展板:

RoboduinoMotor - Roboduino电机扩展板驱动.

如果需要设计自己的库, 请参考"arduino\hardware\libraries"目录中相关库的代码.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Arduino 教程 语法 编程