|
|
 |
Ответов
|
Sep 20 2006, 10:11
|
Местный
  
Группа: Свой
Сообщений: 212
Регистрация: 26-08-04
Пользователь №: 545

|
Цитата А зачем выдерживать минимальную разницу 10 сек? Не обязательно 10 секунд, можно и 2 сек, это как бы время неопределенности. Т.е. время передачи данных от хоста может быть каждый раз разным (у меня медленный радиоканал). Если мы каждый раз будем сразу устанавливать время в контроллере, то время в контроллере будет идти неравномерно (из за разного времени передачи), а длительность минуты будет 60 сек +- разница времени передачи от хоста к контроллеру. Чтобы все же в контроллере минута была точно 60 секунд, мы корректируем время не всякий раз после приема данных, а только в том случае, если оно отличается от эталонного на 10 сек (тогда одна минута будет не 60 секунд, зато все остальные точно 60).
|
|
|
|
|
Sep 20 2006, 15:05
|
Местный
  
Группа: Свой
Сообщений: 212
Регистрация: 26-08-04
Пользователь №: 545

|
Цитата(Леонид Иванович @ Sep 20 2006, 17:03)  А зачем корректировать время каждый раз после приема данных? Автономные часы ведьтак быстро не убегают. Достаточно корректировать один раз в сутки, например. Ну предположим, мы решили корректировать внутренние часы один раз в сутки в 00 часов. Первый раз включаем прибор, там произвольное время. Принимаем от хоста точное время, но не устанавливаем его, т.к. ждем, когда будет 00 часов. Нелогично! Или на хосте изменили время (зимнее/летнее или просто подкорректировали) то же самое, синхронизация произойдет только в назначенное время.
|
|
|
|
|
Sep 20 2006, 15:27
|
дятел
    
Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065

|
Цитата(afad @ Sep 20 2006, 19:05)  Цитата(Леонид Иванович @ Sep 20 2006, 17:03)  А зачем корректировать время каждый раз после приема данных? Автономные часы ведьтак быстро не убегают. Достаточно корректировать один раз в сутки, например.
Ну предположим, мы решили корректировать внутренние часы один раз в сутки в 00 часов. Первый раз включаем прибор, там произвольное время. Принимаем от хоста точное время, но не устанавливаем его, т.к. ждем, когда будет 00 часов. Нелогично! Или на хосте изменили время (зимнее/летнее или просто подкорректировали) то же самое, синхронизация произойдет только в назначенное время. Ну дык корректируйте его при включении, а далее 1 раз в сутки. Да, забыл сказать, дневную коррекцию делаем между 2 и 3 часами ночи (ну или когда у нас там официально переводят часы зима/лето)
|
|
|
|
Сообщений в этой теме
MMP вопрос по ds1307 Sep 15 2006, 09:32 defunct В 48м была специальная команда десятичной коррекци... Sep 16 2006, 00:07 afad Можно и без преобразования, просто нужно сделать 3... Sep 18 2006, 10:33 MMP Тогда уж не три, а четыре
if(hours<0x00){hours ... Sep 18 2006, 13:12 Леонид Иванович Увеличение часов:
hours++;
if(hours == 0x24) { ho... Sep 19 2006, 08:05 IgorKossak Вот за что я не люблю часы с "человеческим... Sep 19 2006, 08:42 Леонид Иванович Очень многие человеческие единицы измерения неудоб... Sep 19 2006, 11:12 afad А вот еще задача, кажущаяся простой, но пока не на... Sep 19 2006, 15:29 Леонид Иванович А зачем выдерживать минимальную разницу 10 сек? У ... Sep 19 2006, 16:30 IgorKossak Ну разумеется я привёл частный случай, ибо реализа... Sep 21 2006, 13:59 SS85 Можно корректировать вообще по службе точного врем... Sep 23 2006, 19:40
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|