Отслеживаем время для обработки события

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить
Грызет канифоль
Аватара пользователя
Сообщения: 287
Зарегистрирован: Сб янв 23, 2016 00:59:59
Откуда: Чебоксары

Сообщение ROMan2947 »

Здравствуйте!В процессе разработки своего контроллера появилась задача отправки данных через GSM модуль. Отправка должна происходит в конкретный день и в конкретное время. Данные о датах и времени получаю от RTC. как бы оптимально отследить нужное время и отправить данные? проверять каждую секунду настал ли момент для отправки, я думаю это слишком жестоко по отношению к микроконтроллеру.Думал как то разбить проверку таким образом: сначала проверяю только месяц, при совпадении проверяю только число,затем часы и минуты...Может есть предложения попроще?
Реклама
Вымогатель припоя
Сообщения: 615
Зарегистрирован: Вс дек 28, 2014 21:54:05

Сообщение dgrett »

A RTC часом не имеет своего будильника ? Вот его и используйте.
Я всё-всё узнAю и стану профессором.
Реклама
Грызет канифоль
Аватара пользователя
Сообщения: 287
Зарегистрирован: Сб янв 23, 2016 00:59:59
Откуда: Чебоксары

Сообщение ROMan2947 »

[uquote="dgrett",url="/forum/viewtopic.php?p=3681366#p3681366"]A RTC часом не имеет своего будильника ? Вот его и используйте.[/uquote]
использую ds1307,чет не начитал я там будильника. Будильник есть вроде в модуле GSM SIM800L, с которым я и работаю, но хотелось бы иметь по меньше дел с этим модулем, капризный очень.
Вымогатель припоя
Сообщения: 615
Зарегистрирован: Вс дек 28, 2014 21:54:05

Сообщение dgrett »

Если нет возможности поставить ds3231 или похожую с будильником, то делайте, как и писАли. Проверяете месяц, потом день и тд.
Я всё-всё узнAю и стану профессором.
Реклама
Эиком - электронные компоненты и радиодетали
Мудрый кот
Сообщения: 1799
Зарегистрирован: Вт авг 15, 2017 10:51:13

Сообщение jcxz »

[uquote="ROMan2947",url="/forum/viewtopic.php?p=3681354#p3681354"]проверять каждую секунду настал ли момент для отправки, я думаю это слишком жестоко по отношению к микроконтроллеру.[/uquote]
Почему? Боитесь что МК перетрудится? :)))
Так и следует делать... Ну только если МК всё время работает, не уходит в сон.

[uquote="ROMan2947",url="/forum/viewtopic.php?p=3681354#p3681354"]Думал как то разбить проверку таким образом: сначала проверяю только месяц, при совпадении проверяю только число,затем часы и минуты...Может есть предложения попроще?[/uquote]
Да. Вести время в секундах (32-битным числом) и проверять сразу всё.
Реклама
Грызет канифоль
Аватара пользователя
Сообщения: 287
Зарегистрирован: Сб янв 23, 2016 00:59:59
Откуда: Чебоксары

Сообщение ROMan2947 »

[uquote="jcxz",url="/forum/viewtopic.php?p=3681430#p3681430"][uquote="ROMan2947",url="/forum/viewtopic.php?p=3681354#p3681354"]проверять каждую секунду настал ли момент для отправки, я думаю это слишком жестоко по отношению к микроконтроллеру.[/uquote]
Почему? Боитесь что МК перетрудится? :)))[/uquote] мартышкин труд какой-то :wink:

Добавлено after 1 minute 12 seconds:
[uquote="jcxz",url="/forum/viewtopic.php?p=3681430#p3681430"]Да. Вести время в секундах (32-битным числом) и проверять сразу всё.[/uquote] ну так кроме времени мне и дату надо проверять, что теперь и ее осекундить :write:
Реклама
Мудрый кот
Сообщения: 1799
Зарегистрирован: Вт авг 15, 2017 10:51:13

Сообщение jcxz »

[uquote="ROMan2947",url="/forum/viewtopic.php?p=3681433#p3681433"]ну так кроме времени мне и дату надо проверять, что теперь и ее осекундить :write:[/uquote]
Конечно. Хранить дату/время в UNIX-формате (и работать с ней) - самое разумное решение.

PS: Кстати - некоторые RTC уже имеют возможность внутри себя вести время в UNIX-формате.
Грызет канифоль
Аватара пользователя
Сообщения: 287
Зарегистрирован: Сб янв 23, 2016 00:59:59
Откуда: Чебоксары

Сообщение ROMan2947 »

[uquote="jcxz",url="/forum/viewtopic.php?p=3681450#p3681450"][uquote="ROMan2947",url="/forum/viewtopic.php?p=3681433#p3681433"]ну так кроме времени мне и дату надо проверять, что теперь и ее осекундить :write:[/uquote]
Конечно. Хранить дату/время в 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

Сообщение jcxz »

[uquote="ROMan2947",url="/forum/viewtopic.php?p=3681454#p3681454"]не ожидал подобных решений,мне казались они извращением. Ок, так и сделаем.Спасибо!!![/uquote]
Если у Вас всего в одном месте используется временная метка (дата/время) и нет необходимости сравнивать разные временные метки между собой или вычислять между ними разницу например или другие математические действия производить или применять разные часовые пояса или синхронизировать с SNTP-серверами, то в принципе - без разницы, можно и не использовать UNIX-формат. Но как только появляется что-то из вышеописанного - то поймёте все преимущества. 8)
Но лучше сразу делать так, чтобы потом не переделывать всё если понадобится что-то добавить в систему.
Ответить

Вернуться в «Периферия»