Например TDA7294

Форум РадиоКот • Просмотр темы - Проект-заготовка. Часы, календарь, будильник, таймер. DS3231
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Сб сен 26, 2020 08:28:43

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 58 ]  1, ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Проект-заготовка. Часы, календарь, будильник, таймер. DS3231
СообщениеДобавлено: Ср сен 16, 2020 20:40:39 
Держит паяльник хвостом

Карма: -3
Рейтинг сообщений: 104
Зарегистрирован: Ср июн 25, 2008 15:19:44
Сообщений: 942
Рейтинг сообщения: 0
Создал тему, чтобы задавать возникающие по ходу дела вопросы. Делаю проект заготовку. Часы, календарь, будильник, таймер. DS3231.
Вопрос первый. У DS3231 намертво зашитый календарь или нет? Поясняю вопрос. Если я запишу в RTC некорректный календарь, что произойдет? К примеру, пусть сегодня 17 сентября, четверг. 2020 год. Я в настройках набрал 17 сентября, пятница. 2020 год. Заливаю данные в DS3231. Что произойдет?

Видео процесса на данный момент. Дисплей Futaba M204SD08AA. 20x4. На 4 строке тестовый вывод переменных и справа выведено значение 16 битного таймера, который измеряет время обращения к RTC.


Последний раз редактировалось Demiurg Чт сен 17, 2020 15:51:14, всего редактировалось 2 раз(а).

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Проект-заготовка. Часы, календарь, будильник, таймер. DS
СообщениеДобавлено: Ср сен 16, 2020 21:45:11 
Это не хвост, это антенна

Карма: 13
Рейтинг сообщений: 268
Зарегистрирован: Ср ноя 29, 2017 06:58:50
Сообщений: 1305
Рейтинг сообщения: 0
Произойдет парадокс с последующим разделением вероятности на две линии.
даташит:
The day-of-week register increments at midnight. Values that correspond to the day of week are user-defined but must be sequential (i.e., if 1 equals Sunday, then 2 equals Monday, and so on). Illogical time and date entries result in undefined operation.

Вольный перевод гуглом: регистр дня недели увеличивается в полночь. Значения, соответствующие дню недели, определяются пользователем, но должны быть последовательными (т. Е. Если 1 равно воскресенью, то 2 равно понедельнику и т. Д.). Нелогичные записи времени и даты приводят к неопределенной операции.

Добавлено after 19 minutes 42 seconds:
Re: Проект-заготовка. Часы, календарь, будильник, таймер. DS3231
может пригодиться:
https://en.wikipedia.org/wiki/Zeller%27s_congruence оно же в виде кода: https://ideone.com/CkDGvY


Вернуться наверх
 
JLCPCB, всего $2 за прототип печатной платы! Цвет - любой!

Отличное качество, подтвержденное более чем 600,000 пользователей! Более 10,000 заказов в день.

Зарегистрируйтесь и получите два купона по 5$ каждый:https://jlcpcb.com/quote

Не в сети
 Заголовок сообщения: Re: Проект-заготовка. Часы, календарь, будильник, таймер. DS
СообщениеДобавлено: Ср сен 16, 2020 22:04:07 
Друг Кота
Аватар пользователя

Карма: 113
Рейтинг сообщений: 6437
Зарегистрирован: Сб сен 13, 2014 16:27:32
Сообщений: 27892
Откуда: СпиртоГонск созвездия Омега
Рейтинг сообщения: 0
ден недели в поравилный RTC обычно не вносится он сам вычисляется чипом исходя из даты и года по матрице лет

_________________
Мудрость(Опыт и выдержка) приходит с годами.
Все Ваши беды и проблемы, от недостатка знаний.
Умный и у дурака научится, а дураку и ..
Алберт Ейнштейн не поможет и ВВП не спасет... и МЧС опаздает
и таки теперь Дураки и Толерасты умирают по пятницам!


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Шестое юбилейное мероприятие в процессе
Не в сети
 Заголовок сообщения: Re: Проект-заготовка. Часы, календарь, будильник, таймер. DS
СообщениеДобавлено: Чт сен 17, 2020 01:12:41 
Родился
Аватар пользователя

Карма: 6
Рейтинг сообщений: 9
Зарегистрирован: Ср янв 03, 2018 01:36:14
Сообщений: 13
Рейтинг сообщения: 2
BlackKilkennyCat писал(а):
Я в настройках набрал 17 сентября, пятница. 2020 год. Заливаю данные в DS3231. Что произойдет?

Запишет как пятницу, то есть как 5-й день, ну или как 6-й, это зависит от того с какого дня у вас неделя начинается.
Он не определяет правильный ли день недели введен. Там с этим все примитивно.

ден недели в поравилный RTC обычно не вносится


Ну, исходя из этого 3231 не нормальный.
У него банально вводиться номер дня и он его по кругу считает от 1 до 7.


Вернуться наверх
 
Драйверы MOSFET/IGBT Infineon – силой нужно управлять!

Специалисты Infineon усовершенствовали традиционные кремниевые MOSFET и IGBT и выпустили компоненты на базе принципиально иных материалов – нитрида галлия и карбида кремния. Мы создали подборку полезных материалов, чтобы вы разобрались во всех тонкостях и стали экспертом по управлению силовыми приборами нового поколения CoolMOS, CoolGaN, CoolSiC!

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Проект-заготовка. Часы, календарь, будильник, таймер. DS
СообщениеДобавлено: Чт сен 17, 2020 06:45:00 
Мучитель микросхем

Карма: 2
Рейтинг сообщений: -4
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 409
Рейтинг сообщения: 0
ден недели в поравилный RTC обычно не вносится...

Поправляю. Ден недели в правильном СОФТЕ обычно не вносится...


Вернуться наверх
 
Снижена цена на DC/DC и AC/DC преобразователи Mornsun в Компэл!

Хорошие новости для покупателей источников питания! Компэл снизил цены на всю продукцию Mornsun. В ассортименте – как широко известные и популярные позиции, так и новинки. Доступны AC/DC, неизолированные DC/DC-преобразователи или импульсные стабилизаторы (семейство K78/R3), изолированные DC/DC, и новейшее поколение R4.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Проект-заготовка. Часы, календарь, будильник, таймер. DS
СообщениеДобавлено: Чт сен 17, 2020 07:29:24 
Держит паяльник хвостом

Карма: -3
Рейтинг сообщений: 104
Зарегистрирован: Ср июн 25, 2008 15:19:44
Сообщений: 942
Рейтинг сообщения: 0
ден недели

Поправляю

Поправляльщик... Ггг. Хм, благодарю.
Сегодня поэкспериментирую. Посмотрю на поведение часиков...


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: Проект-заготовка. Часы, календарь, будильник, таймер. DS
СообщениеДобавлено: Чт сен 17, 2020 11:53:34 
Это не хвост, это антенна

Карма: 13
Рейтинг сообщений: 268
Зарегистрирован: Ср ноя 29, 2017 06:58:50
Сообщений: 1305
Рейтинг сообщения: 3
Что там экспериментировать - это обычный счётчик, который знает, что в минуте столько-то секунд, в часах столько-то минут, в сутках столько-то часов, в таком-то месяце столько-то дней и високосные года. Вычислением дней недели оно не занимается, просто крутит от 1 до 7 в полночь


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: Проект-заготовка. Часы, календарь, будильник, таймер. DS
СообщениеДобавлено: Чт сен 17, 2020 17:51:48 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 38
Рейтинг сообщений: 1148
Зарегистрирован: Ср фев 23, 2011 12:12:31
Сообщений: 2101
Рейтинг сообщения: 2
Медали: 1
Получил миской по аватаре (1)
При этом когда пользователь задаёт дату, то именно софт должен ограничивать его. Не давать вписать 31 ноября или знать в каком году в феврале на день больше.
Сначала вводится год, определяем високосный ли он и далее по списку.

_________________
Глупый не задает вопросы. Глупый и так все знает.


Вернуться наверх
 
Бытовой пирометр АКИП-9312 – просто удобно!

Диапазон 35 °С ...42°С (температура тела) погрешность 0,3 °С
Диапазон 0 °С ...100°С (бытовая сфера) погрешность 1,0 °С
Не в сети
 Заголовок сообщения: Re: Проект-заготовка. Часы, календарь, будильник, таймер. DS
СообщениеДобавлено: Пт сен 18, 2020 07:57:04 
Держит паяльник хвостом

Карма: -3
Рейтинг сообщений: 104
Зарегистрирован: Ср июн 25, 2008 15:19:44
Сообщений: 942
Рейтинг сообщения: 0
Сделал проверку. Записывал в RTC только числа месяцев, месяцы, годы. Затем сразу же считывал данные. День недели не менялся. То есть, день недели задается пользователем.
Сейчас занимаюсь примерами вычисления високосных лет. Если кто поделится примером на си, заранее благодарен.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Проект-заготовка. Часы, календарь, будильник, таймер. DS
СообщениеДобавлено: Пт сен 18, 2020 09:22:17 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 64
Рейтинг сообщений: 853
Зарегистрирован: Пт мар 29, 2019 10:45:58
Сообщений: 2083
Откуда: Тюмень
Рейтинг сообщения: 0
С какой целью это делать при использовании DS3231? Она и без этого умеет это делать. Вот если бы Вы делали часы просто на основе одного МК, то тогда другое дело. А так все подобные алгоритмы (ИМХО) в данном варианте не несут ни какой пользы. :dont_know:

_________________
Профессия нужна человеку, чтобы заниматься любимым делом, применять свои таланты и знания, приносить пользу другим людям.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Проект-заготовка. Часы, календарь, будильник, таймер. DS
СообщениеДобавлено: Пт сен 18, 2020 15:38:39 
Держит паяльник хвостом

Карма: -3
Рейтинг сообщений: 104
Зарегистрирован: Ср июн 25, 2008 15:19:44
Сообщений: 942
Рейтинг сообщения: 0
Мои эксперименты показали следующее: (если с часами уже экспериментировали, как поведут себя новые часы, пока неизвестно, нет в наличии), при задании календарной даты день недели произвольный, задается пользователем, также RTC молча проглотил 30 февраля и при задании 23.59.00 вывел 31 февраля.
Резюмирую. Нужно софтово проверять корректность календарных данных. При изменении месяцев, если февраль, проверять, какая дата стоит, чтобы не перевалило за 28 или 29.

Добавлено after 6 hours 5 minutes 48 seconds:
В данный момент чешу репу, как быть. На уровне интерфейса. Если некорректные данные при вводе времени, календарных данных. Скажем, 30 число, вводим Февраль. Некорректно. Или был високосный год, а сейчас не високосный, стоял февраль. 29 число. Правим год. Невисокосный, а число 29 февраля. Некорректно. Это примеры ввода.
Выводить какое-то сообщение или? В данный момент у меня сделано так. При входе в редактирование параметров массив переменных переносится во временный массив. Если данные некорректны, при нажатии на Enter возвращаются назад старые данные. Если все корректно, записывается в RTC.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Проект-заготовка. Часы, календарь, будильник, таймер. DS
СообщениеДобавлено: Пт сен 18, 2020 15:46:07 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 64
Рейтинг сообщений: 853
Зарегистрирован: Пт мар 29, 2019 10:45:58
Сообщений: 2083
Откуда: Тюмень
Рейтинг сообщения: 2
Зачем задавать заведомо неправильную дату месяца? Ни один софт не сможет победить глупость пользователя. :facepalm: Не пойму какую цель Вы преследуете. :dont_know: Как отреагирует Ваш софт если вместо сегодняшнего 18 сентября, пользователь установит 20 сентября. Сможет Ваш софт скорректировать неправильную дату? Нет? Вот то-то и оно. :) Что касается RTC, он никогда не выведет неправильную дату в феврале если задать изначально правильно текущую дату и соответствующий год. :)

_________________
Профессия нужна человеку, чтобы заниматься любимым делом, применять свои таланты и знания, приносить пользу другим людям.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Проект-заготовка. Часы, календарь, будильник, таймер. DS
СообщениеДобавлено: Пт сен 18, 2020 16:01:19 
Это не хвост, это антенна

Карма: 13
Рейтинг сообщений: 268
Зарегистрирован: Ср ноя 29, 2017 06:58:50
Сообщений: 1305
Рейтинг сообщения: 0
не совсем понятно, в чём трудность не дать в принципе ввести за пределами диапазона.
день более 28 - месяц проверяется на февраль, если да - проверяется на високосность и день меняется на 29 или 28, если нет, проверяется на апрель, июнь, сентябрь и ноябрь, если да и равно 31 - меняется на 30.

Добавлено after 12 minutes 10 seconds:
Re: Проект-заготовка. Часы, календарь, будильник, таймер. DS3231
Код:
if (day > 28)
 if (month == 2)
   if (year == vis)
     day = 29
   else
     day = 28
  else if ((month in [4,6,9,11]) and (day > 30))
   day = 30;


Последний раз редактировалось BlackKilkennyCat Пт сен 18, 2020 16:05:06, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Проект-заготовка. Часы, календарь, будильник, таймер. DS
СообщениеДобавлено: Пт сен 18, 2020 16:04:11 
Держит паяльник хвостом

Карма: -3
Рейтинг сообщений: 104
Зарегистрирован: Ср июн 25, 2008 15:19:44
Сообщений: 942
Рейтинг сообщения: 0
В данный момент у меня все параметры проверяются на корректность автоматически при редактировании (кнопки Плюс-Минус, диапазоны значений). Также, когда введены необходимые значения, при нажатии на Enter данные проверяются на корректность перед сохранением и заливкой в RTC. Оказалось, могут быть коллизии, я их описал выше. Это февраль, високосный-невисокосный год, 29 число.
Мне нужно: подчеркиваю, не кодом, а словами, на уровне интерфейса. Что делать, если некорректные значение. К примеру, когда я делал блоки управления для станков, у меня было реализовано так: если какое-либо значение некорректно, на дисплей выводится сообщение с соответствующим предупреждением и ошибкой. Чтобы выйти из этого состояния, оператор должен нажать кнопку Esc-Отмена.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Проект-заготовка. Часы, календарь, будильник, таймер. DS
СообщениеДобавлено: Пт сен 18, 2020 16:07:17 
Это не хвост, это антенна

Карма: 13
Рейтинг сообщений: 268
Зарегистрирован: Ср ноя 29, 2017 06:58:50
Сообщений: 1305
Рейтинг сообщения: 0
да зачем вообще давать возможность вводить некорректное значение? чтобы потом сообщить пользователю? и заставить нажимать Esc?
На станках подобного вообще не должно быть. нажал не то - раздался бип, что не то, и всё. Следующее нажатие уже должно быть мочь то, а не лишнее Esc.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Проект-заготовка. Часы, календарь, будильник, таймер. DS
СообщениеДобавлено: Пт сен 18, 2020 16:36:33 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 38
Рейтинг сообщений: 1148
Зарегистрирован: Ср фев 23, 2011 12:12:31
Сообщений: 2101
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Не понимаю в чём проблема.
Всё просто, сначала вводится год. +/- границы понятны(например от 20 до 99 или от 020 до 999 или от 2020 до 9999). После ввода сразу вычисляем високосный он или нет.
Потом вводится месяц от 1 до 12, границы тоже определены. Сделать так чтобы +/- нельзя было нащёлкать 0 или 13))) Просто? Просто!
Далее с учётом високосности решаем сколько дней в указанном месяце: 28/29/30/31 и ставим границу для числа от 1 до вычисленного.
А далее просим ввести число: просто нажимая на +/- они по кругу будут идти правильные и никаких ошибок выводить никому не надо. Просто другое не ввести.

Если ввод пультом цифрами, то если цифра в вводимом разряде не может быть введена, она не вводится и разряд продолжает "мигать" пока не введут правильную.

_________________
Глупый не задает вопросы. Глупый и так все знает.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Проект-заготовка. Часы, календарь, будильник, таймер. DS
СообщениеДобавлено: Пт сен 18, 2020 17:11:15 
Вымогатель припоя

Карма: 11
Рейтинг сообщений: 99
Зарегистрирован: Вс дек 25, 2016 08:34:54
Сообщений: 680
Рейтинг сообщения: 3
Телефон свой откройте да посмотрите как сделано.
Три параметра: дата месяц год, справа у вас готовый календарь отображается.
Ставлю 31 января 2020.
Перевожу на февраль, дата становится 29.

Взял старый сотовый:
Три параметра: дата месяц год, слева день недели (день недели недоступен редактированию)
ставлю 31 января 2020
перевожу месяц на февраль, дата меняется с 31 на 29.

Без всяких дополнительных слов и Esc.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Проект-заготовка. Часы, календарь, будильник, таймер. DS
СообщениеДобавлено: Пт сен 18, 2020 17:13:20 
Это не хвост, это антенна

Карма: 13
Рейтинг сообщений: 268
Зарегистрирован: Ср ноя 29, 2017 06:58:50
Сообщений: 1305
Рейтинг сообщения: 3
Dimon456, просто на нём Esc нет, вот и пришлось производителю извращаться :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Проект-заготовка. Часы, календарь, будильник, таймер. DS
СообщениеДобавлено: Пт сен 18, 2020 17:25:17 
Вымогатель припоя

Карма: 11
Рейтинг сообщений: 99
Зарегистрирован: Вс дек 25, 2016 08:34:54
Сообщений: 680
Рейтинг сообщения: 3
Как нет, а об пол.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Проект-заготовка. Часы, календарь, будильник, таймер. DS
СообщениеДобавлено: Пт сен 18, 2020 17:51:19 
Держит паяльник хвостом

Карма: -3
Рейтинг сообщений: 104
Зарегистрирован: Ср июн 25, 2008 15:19:44
Сообщений: 942
Рейтинг сообщения: 0
...

Вы не поняли моего вопроса. Написали все то я и так знаю, у меня это и реализовано. Но вы не написали ничего, что касается интерфейса. Повторяю. На уровне ИНТЕРФЕЙСА.

...

Наконец-то конкретика. Ага, то есть, если выставлены последние числа месяцев, то от этого и исходить. Хм... Вариант.

Добавлено after 24 minutes 32 seconds:
Новое видео.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 58 ]  1, ,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y