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

 
 
> Принцип работы RTC в STM32F107
Auratos
сообщение Feb 28 2018, 09:48
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 26
Регистрация: 6-10-14
Пользователь №: 83 032



Добрый день. Имеется на руках контроллер серии STM32F107xx. Пользуюсь активно таймером реального времени. И вот, собственно, возник вопрос: а какой у этого таймера диапазон измерения времени? Т.к. там 32-битный секундный счетчик, то максимум он сможет отсчитать ~136 лет. Отсчет начинается, как я понял, с 1900 года, т.е. до 2036 года. А что будет после его переполнения, т.е. после 2036 года? Можно ли самому подвинуть точку отсчета? Или там совсем все устроено по-другому? Объясните, пожалуйста
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Baser
сообщение Feb 28 2018, 12:25
Сообщение #2


Просто Che
*****

Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881



Цитата(Auratos @ Feb 28 2018, 11:48) *
И вот, собственно, возник вопрос: а какой у этого таймера диапазон измерения времени? Т.к. там 32-битный секундный счетчик, то максимум он сможет отсчитать ~136 лет. Отсчет начинается, как я понял, с 1900 года, т.е. до 2036 года. А что будет после его переполнения, т.е. после 2036 года? Можно ли самому подвинуть точку отсчета?

Цитата(Auratos @ Feb 28 2018, 12:42) *
Просто я пользуюсь библиотечной функцией при установке времени и даты ... mktime(t);

Это библиотечная фунция, входящая в Си. В ней применяется UNIX-время (Unix Epoch). Отсчет начинается от 1 января 1970 года.
2036-м годом ограничено, потому что в 2038 UNIX-время достигнет 2х31 и может неверно интерпретироваться как отрицательное. Почитайте по ссылке.

Вы можете сдвигать время как угодно, но при этом нужно будет применять свои функции или сдвигать стандартные.
Я применяю время с 1 января 2000 года. Переписал функции и использую такой свой Timestamp.
Go to the top of the page
 
+Quote Post
Auratos
сообщение Feb 28 2018, 12:29
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 26
Регистрация: 6-10-14
Пользователь №: 83 032



Цитата(Baser @ Feb 28 2018, 12:25) *
Это библиотечная фунция, входящая в Си. В ней применяется UNIX-время (Unix Epoch). Отсчет начинается от 1 января 1970 года.
2036-м годом ограничено, потому что в 2038 UNIX-время достигнет 2х31 и может неверно интерпретироваться как отрицательное. Почитайте по ссылке.

Вы можете сдвигать время как угодно, но при этом нужно будет применять свои функции или сдвигать стандартные.
Я применяю время с 1 января 2000 года. Переписал функции и использую такой свой Timestamp.


И вы также используете библиотечные функции localtime и mktime? А не могли бы вы, пожалуйста, привести пример своих функций для работы со временем?
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 1st July 2025 - 13:44
Рейтинг@Mail.ru


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