millis函数是干什么的
时间: 2023-06-30 22:27:28 浏览: 119
在Arduino编程中,`millis()`是一个非常重要的函数,它用于获取自开机以来的毫秒数。它的返回值是一个`unsigned long`类型的整数,可以用来计算时间间隔或者实现一些时间相关的功能。
`millis()`函数的工作原理是,它通过系统定时器来计算自开机以来的毫秒数,定时器每隔一毫秒就会触发一次,而`millis()`函数会返回定时器计数器的当前值。因此,`millis()`函数的精度取决于系统定时器的精度。
以下是一个简单的使用`millis()`函数实现的闪烁LED的示例代码:
```cpp
const int ledPin = 13;
int ledState = LOW;
unsigned long previousMillis = 0;
const long interval = 1000;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis;
if (ledState == LOW) {
ledState = HIGH;
} else {
ledState = LOW;
}
digitalWrite(ledPin, ledState);
}
}
```
在上面的代码中,`previousMillis`变量存储上一次LED状态改变的时间,`interval`变量定义了闪烁的时间间隔。在`loop()`函数中,首先使用`millis()`函数获取当前的毫秒数,然后判断是否到达了下一次LED状态改变的时间。如果是,就改变LED的状态并更新`previousMillis`变量。这样,LED就会以指定的时间间隔闪烁。