Дисплей пропускает секунды

Кстати, это что же получается?, можно и так:

if (millis()  > T){
timer0_millis=0;
}

пробовал, но пока не заработало

В этой библиотеке есть примеры работы через прерывание. Как раз тикает раз в секунду.

1 лайк

Спасибо, дома попробую.

Ну уж секунды можно считать и без библиотек.

1 лайк

Ничего удивительного.
К пропущенной секунде (1000 мс) Вы на каждом проходе добавляете время, в течение которого происходит вывод на экран. А это не так уж мало - примерно 3 мс на каждый символ.
То есть часы у Вас тикают реже 1 раза в секунду.

“Теоретически” совет несет рациональное зерно, но при таком подходе вместо достаточно точных часов мы будем использовать керамический резонатор Ардуины, т.е. в точности потеряем порядки.

Вообще

Дисплей секунды пропускать не может.

А, тем не менее, пропускает…

«Травит», видимо. Надо затычку «секундную».

1 лайк

Я смогу завтра пример написать. Только скажите, какая у Вас библиотека. Вот эта? Если другая, то скажите какая, чтобы не получилось, что я для другой сделал.

А какое решение вы посоветуете?

Буду очень благодарен, библиотека та самая.

Евгений, можно просьбу, включите туда '“говнокод”, пятница же скоро)))

2 лайка

Так ведь советов уже накидали…
Наиболее прямой способ, естественно, сесть на прерывания часов.
Можно просто увеличить частоту опроса часов в 3-4 раза - в индикации будет погрешность в доли секунды, но вряд ли это можно считать существенным. Лично я делал именно по этому последнему варианту.

Обычно часы отображают с мигающим разделителем в виде ‘:’, время обновления которого 0,5 сек. Ничто не мешает каждый раз в эти 0,5 сек проверять изменение секунд и отображать при необходимости.
ПС. И, кстати, двоеточие будет синхронизировано со сменой секунд.)

а если больше 1000, ошибка будет накапливаться, прибавлять надо 1000

А контроллер? 328P?

Мож, само получится.

У меня, кстати, есть один кодик на подходе, но я не уверен, что он хорош для пятницы. Вот прошлый был такого типа, что так можно было случайно наговнокодить (типа случайная ошибка), а этот новый, вроде неплох, но случайно так не напишешь - только умышленно. Вот я сомневаюсь, что такой достоин пятницы :frowning:

Он самый