Arduino参考手册.docx

上传人:b****5 文档编号:12692860 上传时间:2023-04-21 格式:DOCX 页数:15 大小:22.45KB
下载 相关 举报
Arduino参考手册.docx_第1页
第1页 / 共15页
Arduino参考手册.docx_第2页
第2页 / 共15页
Arduino参考手册.docx_第3页
第3页 / 共15页
Arduino参考手册.docx_第4页
第4页 / 共15页
Arduino参考手册.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

Arduino参考手册.docx

《Arduino参考手册.docx》由会员分享,可在线阅读,更多相关《Arduino参考手册.docx(15页珍藏版)》请在冰豆网上搜索。

Arduino参考手册.docx

Arduino参考手册

Arduino参考手册

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

程序结构

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

∙voidsetup()

∙voidloop()

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(字符型)

∙unsignedchar(无符号字符型)

∙byte(字节型)

∙int(整型)

∙unsignedint(无符号整型)

∙long(长整型)

∙unsignedlong(无符号长整型)

∙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->ImportLibrary",然后选择相应的库.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语言注解

wxxmickey发表于-2008-11-2318:

59:

00

Arduino语言是建立在C/C++基础上的,其实也就是基础的C语言,Arduino语言只不过把AVR单片机(微控制器)相关的一些参数设置都函数化,不用我们去了解他的底层,让我们不了解AVR单片机(微控制器)的朋友也能轻松上手。

在与ArduinoDIYER接触的这段时间里,发现有些朋友对Arduino语言还是比较难入手,那么这里我就简单的注释一下Arduino语言(本人也是半罐子水,有错的地方还请各位指正)。

/*************基础C语言*************/

关键字:

∙if

∙if...else

∙for

∙switchcase

∙while

∙do...while

∙break

∙continue

∙return

∙goto

语法符号:

∙;

∙{}

∙//

∙/**/

运算符:

∙=

∙+

∙-

∙*

∙/

∙%

∙==

∙!

=

∙<

∙>

∙<=

∙>=

∙&&

∙||

∙!

∙++

∙--

∙+=

∙-=

∙*=

∙/=

数据类型:

∙boolean布尔类型

∙char

∙byte字节类型

∙int

∙unsignedint

∙long

∙unsignedlong

∙float

∙double

∙string

∙array

∙void

数据类型转换:

∙char()

∙byte()

∙int()

∙long()

∙float()

常量:

∙HIGH|LOW表示数字IO口的电平,HIGH表示高电平

(1),LOW表示低电平(0)。

∙INPUT|OUTPUT表示数字IO口的方向,INPUT表示输入(高阻态),OUTPUT表示输出(AVR能提供5V电压40mA电流)。

∙true|falsetrue表示真

(1),false表示假(0)。

/******************************************/

以上为基础c语言的关键字和符号,有c语言基础的都应该了解其含义,这里也不作过多的解释。

/*************Arduino语言*************/

结构

∙voidsetup()初始化变量,管脚模式,调用库函数等

∙voidloop()连续执行函数内的语句

功能

数字I/O

∙pinMode(pin,mode)数字IO口输入输出模式定义函数,pin表示为0~13,mode表示为INPUT或OUTPUT。

∙digitalWrite(pin,value)数字IO口输出电平定义函数,pin表示为0~13,value表示为HIGH或LOW。

比如定义HIGH可以驱动LED。

∙intdigitalRead(pin)数字IO口读输入电平函数,pin表示为0~13,value表示为HIGH或LOW。

比如可以读数字传感器。

模拟I/O

∙intanalogRead(pin)模拟IO口读函数,pin表示为0~5(ArduinoDiecimila为0~5,Arduinonano为0~7)。

比如可以读模拟传感器(10位AD,0~5V表示为0~1023)。

∙analogWrite(pin,value)-PWM数字IO口PWM输出函数,Arduino数字IO口标注了PWM的IO口可使用该函数,pin表示3,5,6,9,10,11,value表示为0~255。

比如可用于电机PWM调速或音乐播放。

扩展I/O

∙shiftOut(dataPin,clockPin,bitOrder,value)SPI外部IO扩展函数,通常使用带SPI接口的74HC595做8个IO扩展,dataPin为数据口,clockPin为时钟口,bitOrder为数据传输方向(MSBFIRST高位在前,LSBFIRST低位在前),value表示所要传送的数据(0~255),另外还需要一个IO口做74HC595的使能控制。

∙unsignedlongpulseIn(pin,value)脉冲长度记录函数,返回时间参数(us),pin表示为0~13,value为HIGH或LOW。

比如value为HIGH,那么当pin输入为高电平时,开始计时,当pin输入为低电平时,停止计时,然后返回该时间。

时间函数

∙unsignedlongmillis()返回时间函数(单位ms),该函数是指,当程序运行就开始计时并返回记录的参数,该参数溢出大概需要50天时间。

∙delay(ms)延时函数(单位ms)。

∙delayMicroseconds(us)延时函数(单位us)。

数学函数

∙min(x,y)求最小值

∙max(x,y)求最大值

∙abs(x)计算绝对值

∙constrain(x,a,b)约束函数,下限a,上限b,x必须在ab之间才能返回。

∙map(value,fromLow,fromHigh,toLow,toHigh)约束函数,value必须在fromLow与toLow之间和fromHigh与toHigh之间。

∙pow(base,exponent)开方函数,base的exponent次方。

∙sq(x)平方

∙sqrt(x)开根号

三角函数

∙sin(rad)

∙cos(rad)

∙tan(rad)

随机数函数

∙randomSeed(seed)随机数端口定义函数,seed表示读模拟口analogRead(pin)函数。

∙longrandom(max)随机数函数,返回数据大于等于0,小于max。

∙longrandom(min,max)随机数函数,返回数据大于等于min,小于max。

外部中断函数

∙attachInterrupt(interrupt,,mode)外部中断只能用到数字IO口2和3,interrupt表示中断口初始0或1,表示一个功能函数,mode:

LOW低电平中断,CHANGE有变化就中断,RISING上升沿中断,FALLING下降沿中断。

∙detachInterrupt(interrupt)中断开关,interrupt=1开,interrupt=0关。

中断使能函数

∙interrupts()使能中断

∙noInterrupts()禁止中断

串口收发函数

∙Serial.begin(speed)串口定义波特率函数,speed表示波特率,如9600,19200等。

∙intSerial.available()判断缓冲器状态。

∙intSerial.read()读串口并返回收到参数。

∙Serial.flush()清空缓冲器。

∙Serial.print(data)串口输出数据。

∙Serial.println(data)串口输出数据并带回车符。

/**********************************/

/************Arduino语言库文件*************/

官方库文件

∙EEPROM-EEPROM读写程序库

∙Ethernet-以太网控制器程序库

∙LiquidCrystal-LCD控制程序库

∙Servo-舵机控制程序库

∙SoftwareSerial-任何数字IO口模拟串口程序库

∙Stepper-步进电机控制程序库

∙Wire-TWI/I2C总线程序库

∙Matrix-LED矩阵控制程序库

∙Sprite-LED矩阵图象处理控制程序库

非官方库文件

∙DateTime-alibraryforkeepingtrackofthecurrentdateandtimeinsoftware.

∙Debounce-forreadingnoisydigitalinputs(e.g.frombuttons)

∙Firmata-forcommunicatingwithapplicationsonthecomputerusingastandardserialprotocol.

∙GLCD-graphicsroutinesforLCDbasedontheKS0108orequivalentchipset.

∙LCD-controlLCDs(using8datalines)

∙LCD4Bit-controlLCDs(using4datalines)

∙LedControl-forcontrollingLEDmatricesorseven-segmentdisplayswithaMAX7221orMAX7219.

∙LedControl-analternativetotheMatrixlibraryfordrivingmultipleLEDswithMaximchips.

∙Messenger-forprocessingtext-basedmessagesfromthecomputer

∙Metro-helpyoutimeactionsatregularintervals

∙MsTimer2-usesthetimer2interrupttotriggeranactioneveryNmilliseconds.

∙OneWire-controldevices(fromDallasSemiconductor)thatusetheOneWireprotocol.

∙PS2Keyboard-readcharactersfromaPS2keyboard.

∙Servo-providessoftwaresupportforServomotorsonanypins.

∙Servotimer1-provideshardwaresupportforServomotorsonpins9and10

∙SimpleMessageSystem-sendmessagesbetweenArduinoandthecomputer

∙SSerial2Mobile-sendtextmessagesoremailsusingacellphone(viaATcommandsoversoftwareserial)

∙TextString-handlestrings

∙TLC5940-16channel12bitPWMcontroller.

∙X10-SendingX10signalsoverACpowerlines

********************************************************************************

日期/时间-一个库追踪当前的日期和时间在软件。

Debounce-喧闹的数字输入阅读(例如,从按钮)

Firmata-负责应用电脑使用一个标准的串行协议。

GLCD-图形程序适用于液晶基于KS0108或同等芯片组。

LCD—控制液晶显示器(使用8数据线)

4比特—控制LCD液晶显示器(使用4个数据线)

LedControl-控制LED矩阵与MAX7221或seven-segment显示或MAX7219。

LedControl-可替代的矩阵库led芯片驱动多准则。

信使——加工文本消息的电脑

地铁-帮助你的时间间隔的行动

MsTimer2-使用定时器2中断触发一个行动所有N毫秒。

OneWire—控制设备(来自达拉斯的半导体)用一条线协议。

PS2Keyboard人物,仔细阅读PS2键盘。

伺服-提供软件支持伺服电机在任何密码。

Servotimer1-提供硬件支持伺服电机在大头针9和10

简单的信息系统之间的消息-发送Arduino和电脑

SSerial2Mobile-发送短信或电子邮件使用手机(以命令对软件系列)

TextString-处理字符串

TLC5940-16通道12位PWM控制器。

艺术馆发送信号——艺术馆交流输电线路

/****************************************/

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1