上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); }