Arduino与LabVIEW开发实战
上QQ阅读APP看书,第一时间看更新

1.6 时间函数

1.6.1 时间函数库

Arduino时间函数包括millis()、micros()、delay()和delayMicroseconds(),分别实现程序运行时间和延时的功能。在使用16MHz晶体振荡器的Arduino控制器上精度为4微秒;在使用8MHz晶体振荡器的Arduino控制器上精度为8微秒。

1.程序运行的时间

使用运行时间函数,能获取Arduino通电后(或复位后)到现在的时间。

(1)millis()

返回系统运行时间,单位毫秒。

返回值是unsigned long类型,大概50天会溢出一次。

(2)micros()

返回系统运行时间,单位微秒。

返回值是unsigned long类型,大约70分钟会溢出一次。

2.延时函数

使用延时函数会暂停程序,满足程序执行的延时需要,例如等待数据返回,可以通过参数设定延时时间。

(1)delay()

延时单位毫秒。

参数数据类型为unsigned long类型。

(2)delayMicroseconds()

延时单位微秒。

参数数据类型为unsigned int类型。

1.6.2 实验:系统已运行时间

1.实验目的

本实验利用时间函数实现延时和获取系统运行时间,并通过串口将程序运行时间发送至计算机。在计算计上通过串口助手或者Arduino IDE自带的串口监控串口,可以看到系统已运行时间。

2.硬件连接

此实验仅需要利用USB电线将Arduino控制板与计算机的USB端口连接即可。

3.程序设计

程序如代码清单1-8所示,程序将系统运行时间输出到串口,可以通过串口监视器观察到程序运行时间。

代码清单1-8:系统运行时间程序代码

unsigned long time1;
unsigned long time2;
void setup(){
     Serial.begin(9600);
}
void loop(){
     time1 = millis();
     time2 = micros();
     // 输出系统运行时间
     Serial.print(time1=);
     Serial.println(“ms”);
     Serial.print(time2=);
     Serial.println(“us”);
     // 等待1秒
     delay(1000);
}