Arduino 语法手册函数部分Word文档下载推荐.docx
- 文档编号:1121140
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:16
- 大小:19.79KB
Arduino 语法手册函数部分Word文档下载推荐.docx
《Arduino 语法手册函数部分Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Arduino 语法手册函数部分Word文档下载推荐.docx(16页珍藏版)》请在冰点文库上搜索。
如果你所连接的设备时钟类型为上升沿,你要确定在调用shiftOut()前时钟脚为低电平,如调用digitalWrite(clockPin,LOW)。
这是一个软件实现;
Arduino提供了一个硬件实现的SPI库,它速度更快但只在特定脚有效。
shiftOut(dataPin,clockPin,bitOrder,value)
dataPin:
输出每一位数据的引脚(int)
clockPin:
时钟脚,当dataPin有值时此引脚电平变化(int)
bitOrder:
输出位的顺序,最高位优先或最低位优先
value:
要移位输出的数据(byte)
将一个数据的一个字节一位一位的移入。
对于每个位,先拉高时钟电平,再从数据传输线中读取一位,再将时钟线拉低。
shiftIn(dataPin,clockPin,bitOrder)
读取的值(byte)
读取一个引脚的脉冲(HIGH或LOW)。
例如,如果value是HIGH,pulseIn()会等待引脚变为HIGH,开始计时,再等待引脚变为LOW并停止计时。
返回脉冲的长度,单位微秒。
如果在指定的时间内无脉冲函数返回。
此函数的计时功能由经验决定,长时间的脉冲计时可能会出错。
计时范围从10微秒至3分钟。
(1秒=1000毫秒=1000000微秒)
pulseIn(pin,value)
pulseIn(pin,value,timeout)
你要进行脉冲计时的引脚号(int)。
要读取的脉冲类型,HIGH或LOW(int)。
timeout(可选):
指定脉冲计数的等待时间,单位为微秒,默认值是1秒(unsignedlong)
脉冲长度(微秒),如果等待超时返回0(unsignedlong)
intpin=7;
unsignedlongduration;
voidsetup()
{
pinMode(pin,INPUT);
}
voidloop()
duration=pulseIn(pin,HIGH);
;
时间
返回Arduino开发板从运行当前程序开始的毫秒数。
这个数字将在约50天后溢出(归零)。
返回从运行当前程序开始的毫秒数(无符号长整数)。
unsignedlongtime;
voidsetup(){
(9600);
voidloop(){
("
Time:
"
);
time=millis();
注意事项
当中断函数发生时,delay()和millis()的数值将不会继续变化。
当中断发生时,串口收到的数据可能会丢失。
你应该声明一个变量来在未发生中断时储存变量。
使用中断
在单片机自动化程序中当突发事件发生时,中断是非常有用的,它可以帮助解决时序问题。
一个使用中断的任务可能会读一个旋转编码器,监视用户的输入。
如果你想以确保程序始终抓住一个旋转编码器的脉冲,从来不缺少一个脉冲,它将使写一个程序做任何事情都要非常棘手,因为该计划将需要不断轮询的传感器线编码器,为了赶上脉冲发生时。
其他传感器也是如此,如试图读取一个声音传感器正试图赶上一按,或红外线槽传感器(照片灭弧室),试图抓住一个硬币下降。
在所有这些情况下,使用一个中断可以释放的微控制器来完成其他一些工作。
程序示例
intpin=13;
volatileintstate=LOW;
pinMode(pin,OUTPUT);
attachInterrupt(0,blink,CHANGE);
digitalWrite(pin,state);
voidblink()
state=!
state;
detachInterrupt(interrupt)
关闭给定的中断。
interrupt:
中断禁用的数(0或者1).
开关中断
interrupts()(中断)
重新启用中断(使用noInterrupts()命令后将被禁用)。
中断允许一些重要任务在后台运行,默认状态是启用的。
禁用中断后一些函数可能无法工作,并传入信息可能会被忽略。
中断会稍微打乱代码的时间,但是在关键部分可以禁用中断。
voidsetup(){
noInterrupts();
对于所有的arduino板:
if(Serial)
ArduinoLeonardo特有:
if(Serial1)
ArduinoMega特有:
if(Serial2)
if(Serial3)
布尔值:
如果指定的串行端口是可用的,则返回true。
如果查询Leonardo的USBCDC串行连接之前,它是准备好的,将只返回false。
(target)
target:
要搜索的字符串(字符)
布尔型
()
说明
()从串行缓冲区读取数据,直到找到一个给定的长度或字符串终止位。
如果目标字符串被发现,该函数返回true,如果超时则返回false。
()继承了Stream类。
(target,terminal)
要搜索的字符串(char)terminal:
在搜索中的字符串终止位(char)
flush()
等待超出的串行数据完成传输。
(在及以上的版本中,flush()语句的功能不再是丢弃所有进入缓存器的串行数据。
)
flush()继承了Stream类.
()
仅ArduinoMega可以使用的语法:
()命令从串口缓冲区返回第一个有效的浮点数.Charactersthatarenotdigits(ortheminussign)areskipped.parseFloat()isterminatedbythefirstcharacterthatisnotafloatingpointnumber.
float
parseInt()
查找传入的串行数据流中的下一个有效的整数。
parseInt()继承了Stream类。
下面三个命令仅适用于ArduinoMega:
Parameters
int:
下一个有效的整数
返回传入的串行数据的下一个字节(字符),而不是进入内部串行缓冲器调取。
也就是说,连续调用peek()将返回相同的字符,与调用read()方法相同。
peek()继承自Stream类。
仅适用于ArduinoMega:
传入的串行数据的第一个字节(或-1,如果没有可用的数据的话)-int
以人们可读的ASCII文本形式打印数据到串口输出。
此命令可以采取多种形式。
每个数字的打印输出使用的是ASCII字符。
浮点型同样打印输出的是ASCII字符,保留到小数点后两位。
Bytes型则打印输出单个字符。
字符和字符串原样打印输出。
()打印输出数据不换行,()打印输出数据自动换行处理。
例如
(78)输出为“78”
输出为“”
(“N”)输出为“N”
(“Helloworld.”)输出为“Helloworld.”
也可以自己定义输出为几进制(格式);
可以是BIN(二进制,或以2为基数),OCT(八进制,或以8为基数),DEC(十进制,或以10为基数),HEX(十六进制,或以16为基数)。
对于浮点型数字,可以指定输出的小数数位。
(78,BIN)输出为“1001110”
(78,OCT)输出为“116”
(78,DEC)输出为“78”
(78,HEX)输出为“4E”
0)输出为“1”
2)输出为“”
4)输出为“”
你可以通过基于闪存的字符串来进行打印输出,将数据放入F()中,再放入()。
例如(F(“Helloworld”))若要发送一个字节,则使用()。
(val)
(val,格式)
val:
打印输出的值-任何数据类型
格式:
指定进制(整数数据类型)或小数位数(浮点类型)
字节print()将返回写入的字节数,但是否使用(或读出)这个数字是可设定的
例子:
/*
使用for循环打印一个数字的各种格式。
*/
intx=0;
()返回放置在缓冲区的字符数。
返回0意味着没有发现有效的数据。
()继承自Stream类.
(buffer,length)
元素
buffer:
用来存储字节(char[]或byte[])的缓冲区
length:
读取的字节数(int)
byte
()将字符从串行缓冲区读取到一个数组。
如果检测到终止字符,或预设的读取长度读取完毕,或者时间到了(参见())函数将终止。
()返回读入数组的字符数。
()继承自Stream类。
(character,buffer,length)
character:
要搜索的字符(char)
buffer:
缓冲区来存储字节(char[]或byte[])
length:
读的字节数(int)
()设置使用()或()时等待串口数据的最大毫秒值.默认为1000毫秒。
()继承自Stream类。
(time)
time:
以毫秒为单位的超时时间(long)。
返回结果
写入二级制数据到串口。
发送的数据以一个字节或者一系列的字节为单位。
如果写入的数字为字符,需使用print()命令进行代替。
(str)
(buf,len)
ArduinoMega还支持:
Serial1,Serial2,Serial3(替代Serial)
val:
以单个字节形式发的值
str:
以一串字节的形式发送的字符串
buf:
以一串字节的形式发送的数组
len:
数组的长度
write()将返回写入的字节数,但是否使用这个数字是可选的
(9600);
(45);
}
SerialEvent()
Examples
ReadASCIIString
ASCIITable
Dimmer
Graph
PhysicalPixel
VirtualColorMixer
SerialCallResponse
SerialCallResponseASCII
USB(仅适用于Leonardo和Due)
MouseandKeyboardlibraries
ThesecorelibrariesallowanArduinoLeonardoboardtoappearasanativeMouseand/orKeyboardtoaconnectedcomputer.AwordofcautiononusingtheLeonardoasaMouseorKeyboard:
iftheMouseorKeyboardlibraryisconstantlyrunning,itwillbedifficulttoprogramyourboard.Functionssuchas()and()willmoveyourcursororsendkeystrokestoaconnectedcomputerandshouldonlybecalledwhenyouarereadytohandlethem.Itisrecommendedtouseacontrolsystemtoturnthisfunctionalityon,likeaphysicalswitchoronlyrespondingtospecificinputyoucancontrol.WhenusingtheMouseorKeyboardlibrary,itmaybebesttotestyouroutputfirstusing().Thisway,youcanbesureyouknowwhatvaluesarebeingreported.RefertotheMouseandKeyboardexamplesforsomewaystohandlethis.
Mouse
ThemousefunctionsenabletoLeonardotocontrolcursormovementonaconnectedcomputer.Whenupdatingthecursorposition,itisalwaysrelativetothecursor'
spreviouslocation.
Keyboard
ThekeyboardfunctionsenabletoLeonardotosendkeystrokestoanattachedcomputer.Note:
NoteverypossibleASCIIcharacter,particularlythenon-printingones,canbesentwiththeKeyboardlibrary.TheLeonardosupportstheuseofmodifierkeys.Modifierkeyschangethebehaviorofanotherkeywhenpressedsimultaneously.Seehereforadditionalinformationonsupportedkeysandtheiruse.
KeybaordAndMouseControl:
DemonstratestheMouseandKeyboardcommandsinoneprogram.
KeyboardMessage:
Sendsatextstringwhenabuttonispressed.
KeyboardLogout:
Logsoutthecurrentuserwithkeycommands
KeyboardSerial:
Readsabytefromtheserialport,andsendsbackakeystroke.
KeyboardReprogram:
opensanewwindowintheArduinoIDEandreprogramstheLeonardowithasimpleblinkprogram
ButtonMouseControl:
Controlcursormovementwith5pushbuttons.
JoystickMouseControl:
Controlsacomputer'
scursormovementwithaJoystickwhenabuttonispressed
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Arduino 语法手册函数部分 语法 手册 函数 部分