реклама на сайте
подробности

 
 
> STM32 rtc.c библиотека, Грабельки - с 02.01.13 отставание на 1 день
Firer
сообщение Feb 19 2013, 13:09
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 294
Регистрация: 7-01-05
Пользователь №: 1 832



В очередной раз подтверждаю - проверять все и проверять чужое!
В нескольких сотнях серийно выпущенных устройств с 1 февраля этого года часы идут на сутки раньше.
Т.е. задаешь дату например 19 фев, а возвращает 18.
Библиотечка с сайта st.
Там функции конверсии структуры даты в long int и назад:
Для дат 1.февраля и 31 января 2013 года одинаковое значение long int t = 412966800 влип!

tt.year = 13;
tt.month = 2;
tt.mday = 01;
//tt.wday=
tt.hour = 17;
tt.min = 00;
tt.sec = 00;

t = rtc_struct_to_cnt( &tt );
rtc_cnt_to_struct( t, &tt );

printf("t=%u\r\n", t);
printf("%2u/%02u/%02u %2u:%02u:%02u\r\n", tt.mday, tt.month, tt.year, tt.hour, tt.min, tt.sec);

Кто еще налетел?
Кто уже нашел? Сижу ищу.
Прилагаю исходники.
Прикрепленные файлы
Прикрепленный файл  pack.zip ( 2.12 килобайт ) Кол-во скачиваний: 24
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Tahoe
сообщение Feb 19 2013, 19:24
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 459
Регистрация: 30-03-06
Из: Москва
Пользователь №: 15 600



Цитата(Firer @ Feb 19 2013, 17:09) *
Сижу ищу.

Либо я что-то не понимаю, либо... А зачем вообще нужны функции конверсии времени в Сях, где есть штатные gmtime() / localtime() ?
Кроме переопределения time() на собственную элементарную имплементацию, вообще никаких забот. Или я что-то все же упустил?
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Feb 20 2013, 06:36
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(Tahoe @ Feb 19 2013, 23:24) *
А зачем вообще нужны функции конверсии времени ...

Скорее всего для сравнения.
Ну например вы работаете с архивами. У вас запрос "найти запись со временем раньше чем ...", ну и так далее... И всё на этом построено. Сравнивать лесенкой годы, месяцы и так далее ... длительный процесс. А если у вас такого по программе куча?
Вот тогда приводят всё, например к секундам относительно 1.1.2000. И время хнанят в таком виде. А сравнение - одно сравнение.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th June 2025 - 20:12
Рейтинг@Mail.ru


Страница сгенерированна за 0.01361 секунд с 7
ELECTRONIX ©2004-2016