Menu
CoddyTech

millis() 时钟

本课属于 Coddy Arduino 学习旅程的“无需 delay 的计时”单元。第 1 课,共 18 课。

开发板内部有一个时钟。millis() 会返回开发板启动后经过的毫秒数:通电时为 0,一秒后为 1000,一分钟后为 60000。

你不需要启动或重置这个时钟。它会自行计时,即使你的 sketch 正在 delay() 内也一样。你可以随时读取它:

Serial.println(millis());   // 以毫秒(ms)为单位输出时间

到目前为止,delay() 是唯一能为某件事计时的方法,而且它会在等待时让整个 sketch 停止运行。读取时钟不会让任何东西停止:sketch 会继续运行,并检查已经经过了多长时间。

challenge icon

挑战

简单

每秒打印一次开发板的时钟:

  • 在 loop() 中,用 Serial.println() 打印 millis()
  • 在它后面保留 delay(1000)

按“运行”,观察串口监视器中的数字,然后按“检查”。

亲手试试

void setup() {
  Serial.begin(9600);
}

void loop() {
  // 在这里输出开发板启动以来经过的时间

  delay(1000);
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

无需 delay 的计时中的所有课

自己练习: Arduino 在线编辑器