РЕШЕНО Опрос микросхемы реального времени

Тема в разделе "Микроконтроллеры AVR", создана пользователем Рокки1945, 29 апр 2021.

  1. Рокки1945

    Рокки1945 Гуру

    Всем спасибо за мнение - решил остановится на 200 млс таймере - лучше лишний раз подстраховаться - да и не получится с будильниками...
    Так или иначе необходимо будет контролировать какой именно день недели из семи возможных, а для этого необходимо будет опрашивать микросхему.
     
  2. akl

    akl Гуру

    я как делал - SQW настраиваем на 1 раз в секунду и ложим на ногу с прерыванием, атмега спит и просыпается по этому прерыванию, прибавляет себе в счетчике секунды, делает че-нибудь, раз в минуту или типа того опрашивает модуль для верности. в таком варианте можно относительно долго жить на аккумуляторе.
     
    Andrey12 нравится это.
  3. parovoZZ

    parovoZZ Гуру

    А в чём проблема внутри завести свой таймер и периодически его синхронизировать с внешним? Внутренний это и прерывания и всё, что захочешь.
     
    Andrey12 и Рокки1945 нравится это.
  4. Feofan

    Feofan Нерд

    Ничего опрашивать/перепроверять/контролировать не надо. Прерывание от SQW. Далее настроить день, час, минуты, (секунды) и ждать когда ds ножкой дернет. Дернул? Прибавить необходимый интервал, выполнить нужное и опять ждать. Более "рекламировать" ds3231 не буду.
    Смысл в таймере? Прерывания от RTC недостаточно?
     
    Andrey12 и Рокки1945 нравится это.
  5. Рокки1945

    Рокки1945 Гуру

    У меня изменились обстоятельства - буду использовать семисегментник для вывода времени - опрос микросхемы RTC не избежен. Ещё раз спасибо.
     
  6. parovoZZ

    parovoZZ Гуру

    Если прерывание по шине I2C, то почему нет? Если для этого целый пин нужен, а его нет, то ну нафик.
     
  7. Feofan

    Feofan Нерд

    Одно другого не отменяет. Но дело хозяйское.
    P.S.
    На всякий случай - Unix time упрощает жизнь.
     
    Andrey12 и Рокки1945 нравится это.
  8. Рокки1945

    Рокки1945 Гуру

    Там даже если вешать этот вывод на плюс питания и ждать прерывания по низкому - это конечно хорошо - но ведь фильтр надо будет ставить или как советует Джереми Блюм триггер шмитта. А иначе ложное срабатывание - и немного почитав литературы на подобные устройства - там используют именно сравнение.
     
  9. Feofan

    Feofan Нерд

    Конечно не I2C. Сомневаюсь, что в этой машине времени нет целого свободного пина. Хотя сейчас уже семисегментник прибавился.
     
  10. Рокки1945

    Рокки1945 Гуру

    Там 2 семисегментника будет
    Снимок.PNG
     
  11. Feofan

    Feofan Нерд

    Если используется модуль DS3231, то SQW уже подключен к Vcc через резистор сборки (см. схему).
    Зачем фильтр, триггер? Откуда ложные срабатывания? Транзисторы дребезжат? Чего с чем сравнивать, если на ноге или 0 или 1? Убедиться, что на SQW ноль появился не раньше и не позже записанного в AlarmX времени?
    Я сплю. Однозначно.
     
    Andrey12 и Рокки1945 нравится это.
  12. Рокки1945

    Рокки1945 Гуру

    Вариант с будильниками хороший и разумный - а в шапке темы я спрашивал - "Как лучше организовать опрос микросхемы в прерывании по таймеру или можно шагая по циклу?"
    Ответ получил - решение принял - тему закрыл - всех поблагодарил - по Самарскому времени через 23 минуты праздник трудящихся - Перво мая!!!;)