Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры ATmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.96/28: Рейтинг темы: голосов - 28, средняя оценка - 4.96
уни
327 / 106 / 12
Регистрация: 06.03.2010
Сообщений: 234
1

Программные часы реального времени (RTC)

06.05.2012, 10:31. Просмотров 5251. Ответов 6
Метки нет (Все метки)

Доброго, подскажите исходник (желательно C++) программых часов реального времени (RTC), чтобы основывался на 64-битном таймере, отсчитывающем миллисекунды и мог бы использоваться в ATmega16. Самопальный вариант удвоил количества нужного флеша и я вылез за 100% на много. Пока вернулся к подсчёту секунд и uint32_t.

Вот черновой набросок: SystemTimi.cpp
Он работает, но меня напрягает Проблема 2038 г., да и вообще мне нужны миллисекунды, а не секунды, чтобы логи поточнее вести и скидывать их на флешку.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.05.2012, 10:31
Ответы с готовыми решениями:

Часы реального времени на Atmega16
Собрала в Proteus схему и написала код, но работает криво (схема в Протеус и код в архиве)....

Часы Реального времени на атмега16
Всем доброго вечера. Подскажите пожалуйста как написать на С функцию прерывания, используя часы...

Не работают часы реального времени в связки с ЖКИ
Исходник и схему взял отсюда Мне нужно в протеусе вывести на ЖКИ LM0216L реальное время и дату.

Часы реального врмеени-таймер. RV-2123-C2-TA-QC-020
Привет всем! Имеется один вопросик по часам релаьного времени. в общем имеется...

Часы реального времени
надо часы сделать для процессора Atmega. Схема в протеусе сделана,а вот только как запрогать его...

6
tid_fom
0 / 0 / 0
Регистрация: 21.10.2011
Сообщений: 1,861
06.05.2012, 11:07 2
надеешься, что девайс доживет до Y2K38? оптимист... ;)
считай не UNIX-time (от 1970г), а скажем, от 2000 года.
основное время считай в секундах, а миллисекунды отдельно.
0
pitro-iw
0 / 0 / 0
Регистрация: 04.02.2012
Сообщений: 416
06.05.2012, 11:11 3
обычно так и делают . метка точного времени где не бери всегда раз в секунду , а потом на генераторах уже получат более мелкие .
0
уни
327 / 106 / 12
Регистрация: 06.03.2010
Сообщений: 234
06.05.2012, 22:37 4
надеешься, что девайс доживет до Y2K38? оптимист... ;)
Девайс может и не дожить, а вот код запросто или идеология его.

считай не UNIX-time (от 1970г), а скажем, от 2000 года.
Если я захочу обновить время с компа (Linux или Wymdows), то как я его передавать буду? В виде 32 разрядного числа в известном формате от известной эпохи. Зачем плодить ещё один свой собственный вариант. Это не комильфо. Думается, что МЭК такого самопала не одобрил бы.

основное время считай в секундах, а миллисекунды отдельно.
Только это и остаётся, либо поднатужиться и сваять библиотеку на асме. IAR у меня номально скомпилировал, влезло, а вот у WinAVR 64-битная арифметика на 8 разрядах тяжеловата.
0
tid_fom
0 / 0 / 0
Регистрация: 21.10.2011
Сообщений: 1,861
06.05.2012, 22:54 5
[QUOTE="уни"][QUOTE="Цитата:[/QUOTE]
считай не UNIX-time (от 1970г), а скажем, от 2000 года.
(1)Если я захочу обновить время с компа (Linux или Wymdows), то как я его передавать буду? В виде 32 разрядного числа в известном формате от (2)известной эпохи. Зачем плодить ещё один свой собственный вариант. Это не комильфо. Думается, что (3)МЭК такого самопала не одобрил бы.
оххх... давай по пунктам. (метки в цитате - мои)
1) передавать будешь из проги. писанной тобой. по придуманному тобой протоколу. что захотел, то и наворотил. какие проблемы?
2) "известной эпохи"? БУ-ГА-ГГААА!!! от которой? "у них"-время на звание даже эпохи не тянет. или от рождества христова? или буддийский календарь? или от какой исходной точки считать миллисекунды? от зарождения жизни на планете? или от большого взрыва?
3) господин, вы себе льстите. какое дело МЭКу до вашей поделки?
0
уни
327 / 106 / 12
Регистрация: 06.03.2010
Сообщений: 234
06.05.2012, 23:08 6
Ты, я смотрю, очень умный :)

МЭК - это такие штуки, которым лучше следовать, если планируешь работать в любой промышленной автоматизации и автоматизации вообще. Я не хочу поиметь неизвестные мне головные боли, которые для известных эпох расписаны в Вики, а что до Истории вообще, то мне хватило вот этого обзора по теме из промышленной автоматизации, откуда я взял код и портировал его в свой класс:
Программируем временные сложности

Хотел найти нормальные отлаженные исходники на Си (С++), но что-то с ходу не нашлось, пришлось так вот извернуться. Эпоха и не должна тянуть на что-то, это точка отсчёта на написания стандартизированного кода, принятого большинством в какой-то компьютерной системе. Если я принимаю эту точку отсчёта, то мне доступны исходники по работе со временем, где принята та же эпоха. При выборе такой точки нужно чем-то руководствоваться, т.е. написать: я выбираю это время за начала отсчёта по таким-то и таким-то причинам с обоснованием возможных трудностей в будущем при принятии такого решения (т.е. должно быть небольшое математическое исследование).

Изначально код класса был частью модуля АСУТП, который сейчас реально продаётся. Меня код не устроил и я его дорабатываю.
0
tid_fom
0 / 0 / 0
Регистрация: 21.10.2011
Сообщений: 1,861
06.05.2012, 23:14 7
дык, задачу ставить нужно правильно. так и говори - нужно. нужно по работе. а то из предыдущих сообщений это было совершенно неясно.
я, например, понял этот вопрос как часть домашней поделки. потому и ехидничал в полный рост... ;)
0
06.05.2012, 23:14
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.05.2012, 23:14

Разработка часов реального времени на МС68НС11 (точность до 1 мин)
Всем привет. Необходимо разработать часы на МС68НС11, время отображаться будет на жк индикаторе....

Вывод данных с часов реального времени DS3231S (asm)
Приобрел платку с DS3231SN. И пробую подключить ее к меге16 на пинбоарде с помощью программной...

Эффективность чтения датчиков SPI через DMA в режиме реального времени
Кто знает, насколько эффективно использование разных датчиков интерфейса SPI, для отслеживания...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.