Функция millis 0_0
- Войдите на сайт для отправки комментариев
Вс, 27/01/2019 - 08:54
Подскажите как реализуется функция millis на простом примере:
есть кнопка (пин 3) . при нажатии - загорается светодиод (пин 13) , горит 1 секунду ,затем - гаснет .
самый простой вариант - это конечно использовать delay, но я хочу понять как в этом случае работает millis.
как заменить delay?
const int buttonPin =3; // номер входа, подключенный к кнопке
const int ledPin = 13; // номер выхода светодиода
int buttonState = 0; // переменная для хранения состояния кнопки
void setup() {
// инициализируем пин, подключенный к светодиоду, как выход
pinMode(ledPin, OUTPUT);
// инициализируем пин, подключенный к кнопке, как вход
pinMode(buttonPin, INPUT);
}
void loop(){
// считываем значения с входа кнопки
buttonState = digitalRead(buttonPin);
// проверяем нажата ли кнопка
// если нажата, то buttonState будет HIGH:
if (buttonState == HIGH) {
// включаем светодиод
digitalWrite(ledPin, HIGH);
delay(1000);
}
else {
// выключаем светодиод
digitalWrite(ledPin, LOW);
}
}
Функция millis - это часы. Вот Вы посмотрели на часы и узнали, который час. Точно так же и с muillis - вызвали ее и узнали время на текущий момент.
Чтобы понять, как использовать millis в своих программах для формирования временных интервалов, проще увсего подробно разобрать, чем отличаются два примера: "blink" и "blink without delay".
noob, зачем вам millis(). Вы сейчас даже толком не умеете работать с !!! кнопками.
Подскажите как реализуется функция millis на простом примере:
Простые примеры:
http://arduino.ru/tutorials/BlinkWithoutDelay
http://robocraft.ru/blog/arduino/385.html