Отслеживаем время для обработки события
Здравствуйте!В процессе разработки своего контроллера появилась задача отправки данных через GSM модуль. Отправка должна происходит в конкретный день и в конкретное время. Данные о датах и времени получаю от RTC. как бы оптимально отследить нужное время и отправить данные? проверять каждую секунду настал ли момент для отправки, я думаю это слишком жестоко по отношению к микроконтроллеру.Думал как то разбить проверку таким образом: сначала проверяю только месяц, при совпадении проверяю только число,затем часы и минуты...Может есть предложения попроще?
- Реклама
- Сообщения: 615
- Зарегистрирован: Вс дек 28, 2014 21:54:05
A RTC часом не имеет своего будильника ? Вот его и используйте.
Я всё-всё узнAю и стану профессором.
[uquote="dgrett",url="/forum/viewtopic.php?p=3681366#p3681366"]A RTC часом не имеет своего будильника ? Вот его и используйте.[/uquote]
использую ds1307,чет не начитал я там будильника. Будильник есть вроде в модуле GSM SIM800L, с которым я и работаю, но хотелось бы иметь по меньше дел с этим модулем, капризный очень.
использую ds1307,чет не начитал я там будильника. Будильник есть вроде в модуле GSM SIM800L, с которым я и работаю, но хотелось бы иметь по меньше дел с этим модулем, капризный очень.
- Сообщения: 615
- Зарегистрирован: Вс дек 28, 2014 21:54:05
Если нет возможности поставить ds3231 или похожую с будильником, то делайте, как и писАли. Проверяете месяц, потом день и тд.
Я всё-всё узнAю и стану профессором.
- Сообщения: 1799
- Зарегистрирован: Вт авг 15, 2017 10:51:13
[uquote="ROMan2947",url="/forum/viewtopic.php?p=3681354#p3681354"]проверять каждую секунду настал ли момент для отправки, я думаю это слишком жестоко по отношению к микроконтроллеру.[/uquote]
Почему? Боитесь что МК перетрудится?
Так и следует делать... Ну только если МК всё время работает, не уходит в сон.
[uquote="ROMan2947",url="/forum/viewtopic.php?p=3681354#p3681354"]Думал как то разбить проверку таким образом: сначала проверяю только месяц, при совпадении проверяю только число,затем часы и минуты...Может есть предложения попроще?[/uquote]
Да. Вести время в секундах (32-битным числом) и проверять сразу всё.
Почему? Боитесь что МК перетрудится?
Так и следует делать... Ну только если МК всё время работает, не уходит в сон.
[uquote="ROMan2947",url="/forum/viewtopic.php?p=3681354#p3681354"]Думал как то разбить проверку таким образом: сначала проверяю только месяц, при совпадении проверяю только число,затем часы и минуты...Может есть предложения попроще?[/uquote]
Да. Вести время в секундах (32-битным числом) и проверять сразу всё.
- Реклама
[uquote="jcxz",url="/forum/viewtopic.php?p=3681430#p3681430"][uquote="ROMan2947",url="/forum/viewtopic.php?p=3681354#p3681354"]проверять каждую секунду настал ли момент для отправки, я думаю это слишком жестоко по отношению к микроконтроллеру.[/uquote]
Почему? Боитесь что МК перетрудится?
[/uquote] мартышкин труд какой-то 
Добавлено after 1 minute 12 seconds:
[uquote="jcxz",url="/forum/viewtopic.php?p=3681430#p3681430"]Да. Вести время в секундах (32-битным числом) и проверять сразу всё.[/uquote] ну так кроме времени мне и дату надо проверять, что теперь и ее осекундить
Почему? Боитесь что МК перетрудится?
Добавлено after 1 minute 12 seconds:
[uquote="jcxz",url="/forum/viewtopic.php?p=3681430#p3681430"]Да. Вести время в секундах (32-битным числом) и проверять сразу всё.[/uquote] ну так кроме времени мне и дату надо проверять, что теперь и ее осекундить
- Сообщения: 1799
- Зарегистрирован: Вт авг 15, 2017 10:51:13
[uquote="ROMan2947",url="/forum/viewtopic.php?p=3681433#p3681433"]ну так кроме времени мне и дату надо проверять, что теперь и ее осекундить
[/uquote]
Конечно. Хранить дату/время в UNIX-формате (и работать с ней) - самое разумное решение.
PS: Кстати - некоторые RTC уже имеют возможность внутри себя вести время в UNIX-формате.
Конечно. Хранить дату/время в UNIX-формате (и работать с ней) - самое разумное решение.
PS: Кстати - некоторые RTC уже имеют возможность внутри себя вести время в UNIX-формате.
[uquote="jcxz",url="/forum/viewtopic.php?p=3681450#p3681450"][uquote="ROMan2947",url="/forum/viewtopic.php?p=3681433#p3681433"]ну так кроме времени мне и дату надо проверять, что теперь и ее осекундить
[/uquote]
Конечно. Хранить дату/время в UNIX-формате (и работать с ней) - самое разумное решение.[/uquote]
не ожидал подобных решений,мне казались они извращением. Ок, так и сделаем.Спасибо!!!
Добавлено after 1 minute 39 seconds:
[uquote="jcxz",url="/forum/viewtopic.php?p=3681450#p3681450"]Кстати - некоторые RTC уже имеют возможность внутри себя вести время в UNIX-формате.[/uquote]мой RTC этому не обучен
Конечно. Хранить дату/время в UNIX-формате (и работать с ней) - самое разумное решение.[/uquote]
не ожидал подобных решений,мне казались они извращением. Ок, так и сделаем.Спасибо!!!
Добавлено after 1 minute 39 seconds:
[uquote="jcxz",url="/forum/viewtopic.php?p=3681450#p3681450"]Кстати - некоторые RTC уже имеют возможность внутри себя вести время в UNIX-формате.[/uquote]мой RTC этому не обучен
- Сообщения: 1799
- Зарегистрирован: Вт авг 15, 2017 10:51:13
[uquote="ROMan2947",url="/forum/viewtopic.php?p=3681454#p3681454"]не ожидал подобных решений,мне казались они извращением. Ок, так и сделаем.Спасибо!!![/uquote]
Если у Вас всего в одном месте используется временная метка (дата/время) и нет необходимости сравнивать разные временные метки между собой или вычислять между ними разницу например или другие математические действия производить или применять разные часовые пояса или синхронизировать с SNTP-серверами, то в принципе - без разницы, можно и не использовать UNIX-формат. Но как только появляется что-то из вышеописанного - то поймёте все преимущества.
Но лучше сразу делать так, чтобы потом не переделывать всё если понадобится что-то добавить в систему.
Если у Вас всего в одном месте используется временная метка (дата/время) и нет необходимости сравнивать разные временные метки между собой или вычислять между ними разницу например или другие математические действия производить или применять разные часовые пояса или синхронизировать с SNTP-серверами, то в принципе - без разницы, можно и не использовать UNIX-формат. Но как только появляется что-то из вышеописанного - то поймёте все преимущества.
Но лучше сразу делать так, чтобы потом не переделывать всё если понадобится что-то добавить в систему.


