Добрый день.Имеется код с такой частью:
unsigned int timer = millis();
void setup() {
lcd.begin(16, 2);
lcd.setCursor(0, 0);
lcd.print("Temnep.:");
// lcd.setCursor(1, 1);
//lcd.print("Arduino Uno");
}
void loop() {
lcd.setCursor(0, 1);
lcd.print("Bp.pa6:");
lcd.print(millis() / 1000);
lcd.setCursor(9, 0);
if (millis() - timer >= 1000) {
timer = millis();
if (sensor.readTemp()) {
temp = sensor.getTemp();
lcd.print(temp, 1);
lcd.print(char(223));
lcd.print("C ");
} else lcd.print("none ");
sensor.requestTemp();
}
}
Но датчик температуры (ds18b20), если его нагревать, начинает обновлять данные гораздо быстрее, чем 1р/сек. Не могу понять, в чем ошибка. Думал, что таймер может быстро считается, вывел секунды - нет, идут вроде норм. Помогите разобраться, пожалуйста.
UPD: убрал в начале “=millis()” и привёл к виду:
unsigned long timer;
u вроде стало обновляться нормально. Но почему изначально не работало - непонятно.