Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Установка астрономического времени в RTT
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
int0x25
Подскажите, пожалуйста, как установить реальное время в AT91SAM7x. Я вот не знаю, можно ли его устанавливать прямо на МК типа вызова функции time_t mytime = time(0); или его надо передавать откуда то при каждом включении МК?
Dog Pawlowa
Цитата(int0x25 @ Apr 2 2010, 15:02) *
как установить реальное время

Вы оперируете разными словами и я не очень то понимаю, какой смысл Вы вкладываете.
Астрономическое время привязано к точке нахождения прибора относительно координат.
Реальное время ... это реальное время, оно тикает, когда прибор выключен.
int0x25
Извиняюсь я значит не правильно выразился. Мне нужно реальное время, т.е. чтобы при включении МК на нем было бы реальное время (а не шел отсчет от 0) и тикало пока его не выключат.
aaarrr
В случае SAM7X выручат только внешние часы.
int0x25
Эм, а если нет внешних часов? Нельзя ли, например, при включении МК по сети ему передавать текущее дату и время, а он потом сам продолжит его отсчитывать? (Сори,если это по дурацки звучит, но в МК я только разбираюсь)
Черт туплю, aaarrr внешние часы - это имеется ввиду как раз то что я описал?
aaarrr
Цитата(int0x25 @ Apr 2 2010, 17:20) *
Черт туплю, aaarrr внешние часы - это имеется ввиду как раз то что я описал?

Ну, в общем-то да smile.gif А уж сделаны они в виде микросхемы на I2C или сервера в сети - это уже другой вопрос.
Только учтите, что RTT использовать в качестве таймера реального времени нельзя, т.к. тактируется он исключительно от RC-генератора.
int0x25
Цитата
Только учтите, что RTT использовать в качестве таймера реального времени нельзя

Черт, как все сложно, он же даже расшифровывается как таймер реального времени sad.gif А что же тогда можно использовать?
aaarrr
Цитата(int0x25 @ Apr 2 2010, 18:26) *
Черт, как все сложно, он же даже расшифровывается как таймер реального времени sad.gif

Это такой прикол маркетинговый.

Цитата(int0x25 @ Apr 2 2010, 18:26) *
А что же тогда можно использовать?

PIT, например, а к нему уже прикрутить софтверные часы.
int0x25
aaarrr, спасибо. Только я все все равно не понял как сделать sad.gif. Расскажу что надо сделать, а то может неправильно делаю. Надо считать данные с ацп (n измерений) и передать по сети сами данные + время (дата) запуска ацп с точностью до милисекунд + времена начала каждого измерения в мс с начала работы ацп.
С помощью стандартной си'шной функции я получаю и передаю по сети время с точность до секунд на МК. А вот как потом это число записать в PIT да еще, чтобы он отсчитывал с точностью до милисекунд я не пойму. Не мог бы кто нибудь показать мне как примерно можно такое реализовать(запись , чтение из PIT).
rezident
Цитата(int0x25 @ Apr 5 2010, 18:59) *
С помощью стандартной си'шной функции я получаю и передаю по сети время с точность до секунд на МК. А вот как потом это число записать в PIT да еще, чтобы он отсчитывал с точностью до милисекунд я не пойму. Не мог бы кто нибудь показать мне как примерно можно такое реализовать(запись , чтение из PIT).
Зачем постоянно записывать в счетчик-то? Любое время (временная отметка) относительно! Вот и отнесите ее к текущему значению счетчика. Т.е. при установке времени считываете текущее значение PIT и сохраняете его вместе с начальной временной отметкой, переданной устройству по связи. При запросе любого нового значения вычитаете из текущего значение PIT то, которое было принято за начало отсчетов и получаете временной интервал (в тиках этого таймера), прошедший от начальной временной отметки .
int0x25
rezident, большое спасибо за идею,действительно так проще делать.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.