100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 《Arduino开发实战指南:机器人卷》一2.4 时间函数

《Arduino开发实战指南:机器人卷》一2.4 时间函数

时间:2022-02-05 21:02:37

相关推荐

《Arduino开发实战指南:机器人卷》一2.4 时间函数

本节书摘来华章计算机《Arduino开发实战指南:机器人卷》一书中的第2章 ,第2.4节,黄文恺伍冯洁陈虹编著更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.4时间函数

2.4.1delay(ms)

delay函数是一个延时函数,它是一个无返回值函数,参数是延时的时长,单位是ms(毫秒)。

跑马灯的程序往往需用到delay函数,具体示例程序清单如下:

void setup(){pinMode(6,OUTPUT); // 定义为输出pinMode(7,OUTPUT);pinMode(8,OUTPUT);pinMode(9,OUTPUT);}void loop(){int i; for(i=6;i<=9;i++) // 依次循环四盏灯{digitalWrite(i,HIGH); // 点亮LEDdelay(1000); // 持续1sdigitalWrite(i,LOW); // 熄灭LEDdelay(1000); // 持续1s}}

2.4.2delayMicroseconds(μs)

delayMicroseconds函数也是延时函数,可以产生更短的延时,参数是延时的时长,单位是μs(微秒),其中1s=1000ms=1?000?000μs。

在delay(ms)的跑马灯程序中,延时程序delay(1000)(延时1秒)可以用delayMicroseconds (1000000)来代替。

2.4.3millis()

millis函数用于获取单片机通电到现在运行的时间长度,单位是ms,该函数返回值类型为无符号长整型(unsigned long)。系统最长的记录时间为9小时22分,如果超出将从0开始。

millis是一个无参数函数,适合作为定时器使用,不影响单片机的其他工作,而使用delay函数期间无法做其他工作。

延时10秒后自动点亮接到引脚13的LED的示例程序清单如下:

int LED=13;unsigned long i,j; void setup(){pinMode(LED,OUTPUT);i=millis(); // 读入初始值}void loop(){ j=millis(); // 不断读入当前时间值if((j-i)>10000) // 如果延时超过10s,点亮LEDdigitalWrite(LED,HIGH);else digitalWrite(LED,LOW);}

2.4.4micros()

micros函数用于返回开机到现在运行的微秒值,该函数返回值类型为无符号长整型(unsigned long),70分钟将溢出。

显示当前的微秒值的示例程序清单如下:

unsigned long time; void setup(){ Serial.begin(9600); } void loop(){ Serial.print("Time: "); time = micros(); // 读取当前的微秒值Serial.println(time); // 打印开机到目前运行的微秒值delay(1000); // 延时1s}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。