Примитивные часы. Два пути

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

  1. Имеем общее количество секунд в виде переменной, которая через 1000 мс увеличивается на 1. Далее пересчитываем, сколько из этой суммы получается часов, минут, секунд и индицируем на мах7219.
  2. Работаем без суммы секунд. Тупо добавляем 1 в некую переменную и индицируем как секунды. Как только их становится больше 59, обнуляем и прибавляем 1 минуту на индикаторе. Точно так же с часами и минутами.
    Какой путь с точки зрения программирования более удачный?

В Unix считается, что первый.
А вообще, этих “путей” не меньше десятка.

1 лайк

Еще можно в библиотеку часов реального времени заглянуть, так… для тренировки ))

Да загляну обязательно. Просто хотелось на развилке повернуть на правильный путь. Оба несложные и должны работать, но существует же некое понятие “положено делать так, потому что…”. Вы ж тут все знаете, что я ламер.

Как по мне, то я бы выбрал (из предложенных двух) второй вариант. Так как считаю, что слишком много вычислений ни к чему в такой простой задаче как просто часы.

Положено просто считывать часы реального времени потому что без них ты получаешь неточные часы.

1 лайк

Для AVR первый путь очень затратен - два деления на 60 и одно на 24.

А моргать нужно не светодиодом, а как минимум прожектором посадочных огней аэропорта, потому что иначе мало людей увидят как ты умеешь мигать… :rofl: :rofl: :rofl:

“Примитивные” в названии темы, видимо, слово не знакомое… :rofl: :rofl: :rofl:

2 лайка

Ну да, причем каждое выполняется 0.00004 секунды.
Как часто нам надо обновлять показания часов?

И что за downgrade путь на форуме? То алгоритм Брезенхема, то как сделать часы …

Любое деление +3К к коду, а это 10% для 328ых…

Почему downgrade? Я же не говорю, что не смогу написать один и другой скетчи? Уж на это моей “квалификации” хватит :). Вопрос был в том, какой путь правильнее.

Правильный путь тот, которым вы будете получать точное время - если в секундах от рождества ПС, то первый… если в сразу в секундах минутах часах, то второй…

А вот зачем ему такая точность в примитивных часах? О календаре ведь речи не шло?

Да пусть тогда шесть нулей (овалов) выведет - раз в сутки будет точно до секунды !

1 лайк

Так, мнения ученых разделились? Всем спасибо! Лады, проверю два варианта, посмотрим на “точность”. По окончанию эксперимента отпишусь.

Мой метод с 6 нулями самый точный !!! ОТВЕЧАЮ !!!

2 лайка

печально

Ну, как … а високосную секунду кто учитывать будет?

1 лайк

В микрухах RTC время жеж в отдельных ячейках для минут, секунд и т.д. Стало быть наверно удобней второй вариант.