Страница 1 из 1

Синхронизация DS3231 с NTP сервером

Добавлено: 20 окт 2019, 09:03
edyapd
Плата ESP8266 NodeMCU
Часы DS3231
Дисплей SSD1306
Не могу разобраться почему неправильно выполняется синхронизация года.
Установил часы и дату через FLProg. Решил прикрутить синхронизацию, чтобы в дальнейшем можно было вставлять новые часы без подключения к FLProg.
При старте идут запросы к серверу. Время корректируется в течении нескольких секунд, а дата примерно через одну-две минуты. Число и месяц выставляется правильно, а вот год почему то ставится 2067.
Читал, что надо вводить все данные. Завёл день недели с выхода самих часов, так как блок "NTP Server" день недели не выдаёт, но проблема осталась.
Пробовал с разных серверов которые установлены в самом блоке, а так же с "time.windows.com", всё равно устанавливается 2067 год.
С чем это может быть связано? И как с этим бороться?

Синхронизация DS3231 с NTP сервером

Добавлено: 20 окт 2019, 09:17
belyx
где- то видел в каком то проекте на форуме : на выход года вешали блок вычитания числа 48

Синхронизация DS3231 с NTP сервером

Добавлено: 20 окт 2019, 09:23
rw6cm
[ref]edyapd[/ref], Год в часы вводится в десятых т.е 19.
на вводе в ртс сет отнимите 2000

Синхронизация DS3231 с NTP сервером

Добавлено: 20 окт 2019, 10:26
edyapd
[ref=#ff8000]rw6cm[/ref], спасибо, реально помогло. Вставить бы это ещё в описание блока. Думаю я не последний, кто с этим столкнулся.

Синхронизация DS3231 с NTP сервером

Добавлено: 20 окт 2019, 12:24
rw6cm
edyapd писал(а): 20 окт 2019, 10:26 Вставить бы это ещё в описание блока.
Согласен. Учитывая что до этого все входа блока были int, и год вводился полностью,
а теперь byte, (понятно что теперь число года не может быть >255) но по привычке сам на этом не давно попался ))

Синхронизация DS3231 с NTP сервером

Добавлено: 21 окт 2019, 07:23
edyapd
Приделал блок, чтобы день недели тоже высчитывался. Теперь часы и дату можно не выставлять, всё в автомате при подключении к серверу.
Блок и пример выкладываю.
День_недели_по_дате_(CODE).ubi
Проба DS3231.flp