- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
摘自:函数部分
数字I/O
pinMode( )
描绘
将指定的引脚配置成输出或输入。详情请见digitalpins。
语法
pinMode(pin,mode)
参数
pin:要设置模式的引脚
mode:INPUT或OUTPUT
返回
无
例子
ledPin=13
语法
noTone(pin)
参数
pin:所要停止产生声音的引脚
返回
无
shiftOut( )
shiftOut( )
描绘
将一个数据的一个字节一位一位的移出。从最高有效位(最左边)或最低有效位(最右边)
开始。依次向数据脚写入每一位,之后时钟脚被拉高或拉低,指示方才的数据有效。
注意:如果你所连结的设施时钟种类为上升沿,你要确定在调用
电平,如调用digitalWrite(clockPin,LOW)。
注意:这是一个软件实现;Arduino提供了一个硬件实现的
脚有效。
语法
SPI
shiftOut( )前时钟脚为低
库,它速度更快但只在特定
shiftOut(dataPin,clockPin,bitOrder,value)
参数
dataPin
clockPin
bitOrder
:输出每一位数据的引脚(int)
:时钟脚,当dataPin有值时此引脚电平变化
:输出位的次序,最高位优先或最低位优先
(int)
value:要移位输出的数据(byte)
返回
无
shiftIn( )
描绘
将一个数据的一个字节一位一位的移入。从最高有效位(最左边)或最低有效位(最右边)
开始。关于每个位,先拉高时钟电平,再从数据传输线中读取一位,再将时钟线拉低。
注意:这是一个软件实现;Arduino提供了一个硬件实现的SPI库,它速度更快但只在特定
脚有效。
语法
shiftIn(dataPin,clockPin,bitOrder)
参数
dataPin:输出每一位数据的引脚(int)
clockPin:时钟脚,当dataPin有值时此引脚电平变化(int)
bitOrder:输出位的次序,最高位优先或最低位优先
返回
读取的值(byte)
pulseIn( )
描绘
读取一个引脚的脉冲(HIGH或LOW)。比如,如果value是HIGH,pulseIn( )会等待引脚变
为HIGH,开始计时,再等待引脚变为LOW并停止计时。返回脉冲的长度,单位微秒。如果
在指定的时间内无脉冲函数返回。
此函数的计时功能由经验决定,长时间的脉冲计时可能会出错。计时范围从10微秒至3分
钟。(1秒=1000毫秒=1000000微秒)
语法
pulseIn(pin,value)
pulseIn(pin,value,timeout)
参数
pin:你要进行脉冲计时的引脚号(int)。
value:要读取的脉冲种类,HIGH或LOW(int)。
timeout(可选):指定脉冲计数的等待时间,单位为微秒,默认值是1秒(unsignedlong)
返回
脉冲长度(微秒),如果等待超时返回0(unsignedlong)
例子
intpin=7;
unsignedlongduration;
voidsetup( )
{
pinMode(pin,INPUT);
}
voidloop( )
{
duration=pulseIn(pin,HIGH);;
}
时间
millis( )
描绘
返回
Arduino
开发板从运行目前程序开始的毫秒数。这个数字将在约
50天后溢出(归零)。
参数
无
返回
返回从运行目前程序开始的毫秒数(无符号长整数)。
例子
unsignedlongtime;
voidsetup( ){
(9600);
}
voidloop( ){
(Time:);
time=millis( );
返回
无
注意事项
中间止函数发生时,delay( )和millis( )的数值将不会持续变化。中间止发生时,串口收到
的数据可能会丢掉。你应该声明一个变量来在未发生中止时储藏变量。
使用中止
在单片机自动化程序中当突发事件发生时,中止是特别有用的,它能够帮助解决时序问题。
一个使用中止的任务可能会读一个旋转编码器,监督用户的输入。
如果你想以保证程序始终抓住一个旋转编码器的脉冲,
素来不缺少一个脉冲,
它将使写一个
程序做任何事情都要特别棘手,
因为该计划将需要不断轮询的传感器线编码器,
为了追上脉
冲发生时。其他传感器也是如此,
如试图读取一个声音传感器正试图追上一按,
或红外线槽
传感器(照片灭弧室),试图抓住一个硬币下降。在所有这些情况下,使用一其中止能够释放的微控制器来达成其他一些工作。
程序示例
intpin=13;
volatileintstate=LOW;
voidsetup( )
{
pinMode(pin,OUTPUT);
attachInter
文档评论(0)