FLProg
Вход на сайт
Логин:
Пароль:
Поиск
...
Статистика
Понедельник, 29.05.2017, 03:06
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 212»
Модератор форума: support, Сергей 
Форум » Основной » Спросить у знатоков » Часы DS3231 (Установка времени и даты)
Часы DS3231
Nikito$ Дата: Понедельник, 17.04.2017, 21:20 | Сообщение # 1
Лейтенант
Группа: Проверенные
Сообщений: 74
Награды: 2
Репутация: 1
Статус: Offline
Доброго времени суток, подскажите как в часах DS3231 установить время идату, если они выходят одной строкой. Как я понял при записи нужно чтобы была
некая переменная с текущим значением данных, которые нужно установить и к этой
переменной нужно прибавлять единицу либо же отнимать её, и в этот же момент произвести запись нового значения. А как быть если одна
строка??
 
igori1ok Дата: Понедельник, 17.04.2017, 22:13 | Сообщение # 2
Рядовой
Группа: Проверенные
Сообщений: 10
Награды: 0
Репутация: 0
Статус: Offline
Часы реального времени- Установка времени
 
Boroda Дата: Понедельник, 17.04.2017, 22:44 | Сообщение # 3
Генерал-лейтенант
Группа: Проверенные
Сообщений: 788
Награды: 35
Репутация: 35
Статус: Offline
Nikito$, если все данные стоят на определенных местах, то тогда можно сделать получением подстроки. Если данные постоянно двигаются, то уже сложнее, надо пользоваться поиском подстроки...

Прикрепления: 4777596.png(13Kb)
 
support Дата: Понедельник, 17.04.2017, 22:56 | Сообщение # 4
Автор программы
Группа: Администраторы
Сообщений: 831
Награды: 40
Репутация: 26
Статус: Offline
Ну вообще то есть блок "Получение данных с часов реального времени". Там ставите галочки 'Выход часы'...... и т. д. И получаете необходимые значения в виде цифр

Разработчик программы FLProg
 
Boroda Дата: Понедельник, 17.04.2017, 23:05 | Сообщение # 5
Генерал-лейтенант
Группа: Проверенные
Сообщений: 788
Награды: 35
Репутация: 35
Статус: Offline
Nikito$, сейчас блоки часов покрутил, подумал и пришел к выводу: чтоб сделать увеличение и уменьшение кнопками +\- надо очень сильно постараться. По хорошему надо блок пользователя сделать с тремя входами: номер параметра, кнопка плюс, кнопка минус. И этим блоком связать блоки записи и чтения часов.
Выставил параметр 0 - ничего не меняем.
Параметр 1 - меняем часы.
Параметр 2 - меняем минуты.
Параметр 3 - меняем секунды.
и т.д.
 
Nikito$ Дата: Понедельник, 17.04.2017, 23:28 | Сообщение # 6
Лейтенант
Группа: Проверенные
Сообщений: 74
Награды: 2
Репутация: 1
Статус: Offline
Цитата Boroda ()
Nikito$, если все данные стоят на определенных местах, то тогда можно сделать получением подстроки. Если данные постоянно двигаются, то уже сложнее, надо пользоваться поиском подстроки...
 Спасибо попробую. Остановить данные на время записи думаю не трудно, просто добавив разрешение записи для переменной со временем... потом при отпускании кнопки снова разрешаем запись.

Добавлено (17.04.2017, 23:22)
---------------------------------------------

Цитата support ()
Ну вообще то есть блок "Получение данных с часов реального времени". Там ставите галочки 'Выход часы'...... и т. д. И получаете необходимые значения в виде цифр


С этим я разобрался)) Теперь разбираюсь как правильно устанавливать время если с блока оно выходит в виде строковой переменной и при этом ещё нужно мигать нужным разрядом...

Добавлено (17.04.2017, 23:28)
---------------------------------------------

Цитата Boroda ()
Nikito$, сейчас блоки часов покрутил, подумал и пришел к выводу: чтоб сделать увеличение и уменьшение кнопками +\- надо очень сильно постараться. По хорошему надо блок пользователя сделать с тремя входами: номер параметра, кнопка плюс, кнопка минус. И этим блоком связать блоки записи и чтения часов. Выставил параметр 0 - ничего не меняем.
Параметр 1 - меняем часы.
Параметр 2 - меняем минуты.
Параметр 3 - меняем секунды.
и т.д.
Что то подобное я уже делал... вроде даже получалось прибавлять единицу к текущему времени и после отпускания записывать новое значение в часы. Но тогда у меня были ds1307, соответственно часы и минуты выходили в формате int. Но вот где этот проект, не понятно(((
 
Evgesha Дата: Вторник, 18.04.2017, 07:54 | Сообщение # 7
Подполковник
Группа: Проверенные
Сообщений: 239
Награды: 3
Репутация: 3
Статус: Offline
http://flprog.ru/forum/18-2044-1

Добавлено (18.04.2017, 07:54)
---------------------------------------------
Nikito$,
В прикрепленном проекте нужная вам инфо

 
Denn4a Дата: Вторник, 18.04.2017, 08:52 | Сообщение # 8
Рядовой
Группа: Проверенные
Сообщений: 18
Награды: 0
Репутация: 1
Статус: Offline
Мои часики!
Прикрепления: 9190769.rar(95Kb)


Сообщение отредактировал Denn4a - Вторник, 18.04.2017, 08:53
 
Nikito$ Дата: Вторник, 18.04.2017, 10:27 | Сообщение # 9
Лейтенант
Группа: Проверенные
Сообщений: 74
Награды: 2
Репутация: 1
Статус: Offline
Прихожу к выводу,что проще получать с блока отдельно часы, минуты и секунды, тем более манипулировать байтами гораздо проще чем строкой smile
 
Nikito$ Дата: Вторник, 18.04.2017, 12:59 | Сообщение # 10
Лейтенант
Группа: Проверенные
Сообщений: 74
Награды: 2
Репутация: 1
Статус: Offline
Цитата Boroda ()
Nikito$, сейчас блоки часов покрутил, подумал и пришел к выводу: чтоб сделать увеличение и уменьшение кнопками +\- надо очень сильно постараться. По хорошему надо блок пользователя сделать с тремя входами: номер параметра, кнопка плюс, кнопка минус. И этим блоком связать блоки записи и чтения часов. Выставил параметр 0 - ничего не меняем.
Параметр 1 - меняем часы.
Параметр 2 - меняем минуты.
Параметр 3 - меняем секунды.
и т.д.
В продолжении темы установки. Нашел я свой старый проект где пробовал устанавливать время. Немного поправил, добавил возможность не только прибавлять единицу, но и отнимать её. И это, как ни странно, работает! Но на сколько данный подход правильный не совсем понятно wacko 
Ссылка на проект: https://yadi.sk/d/aWzz58373H6MR4
Прикрепления: 2418630.jpg(82Kb)


Сообщение отредактировал Nikito$ - Вторник, 18.04.2017, 13:09
 
Boroda Дата: Вторник, 18.04.2017, 14:10 | Сообщение # 11
Генерал-лейтенант
Группа: Проверенные
Сообщений: 788
Награды: 35
Репутация: 35
Статус: Offline
Ну от Switch можно избавиться, а на нулевой вход MUX посадить переменную ЧАС. И на каждую кнопку поставить элемент AND и подавать сигналы разрешения изменения.

Сообщение отредактировал Boroda - Вторник, 18.04.2017, 14:11
 
Nikito$ Дата: Вторник, 18.04.2017, 14:51 | Сообщение # 12
Лейтенант
Группа: Проверенные
Сообщений: 74
Награды: 2
Репутация: 1
Статус: Offline
Цитата Boroda ()
Ну от Switch можно избавиться, а на нулевой вход MUX посадить переменную ЧАС. И на каждую кнопку поставить элемент AND и подавать сигналы разрешения изменения.
Ну да, так ещё проще, и главное работает)) tongue  Только на кнопки ставить ничего не нужно. При нажатии up или down у меня блокируется запись в переменную час (в неё записывается текущее время с блока получения) И при этом же нажатии разрешатся запись в переменную час.установка - эта переменная соединена с блоком установки времени.
Прикрепления: 7242723.jpg(30Kb)


Сообщение отредактировал Nikito$ - Вторник, 18.04.2017, 14:52
 
Boroda Дата: Вторник, 18.04.2017, 15:09 | Сообщение # 13
Генерал-лейтенант
Группа: Проверенные
Сообщений: 788
Награды: 35
Репутация: 35
Статус: Offline
А если кнопок +/- только две, а нужно поменять часы, минуты, секунды, год и т.д?
Ставим кнопку "селект" со счетчиком и по счетику разблокируем ANDы блоков изменения часов, минут, секунд и т.д.

Добавлено (18.04.2017, 15:09)
---------------------------------------------
Nikito$, теперь собирайте блок пользователя на FBD для прямой стыковки блоков Чтения и Записи времени.

 
Boroda Дата: Вторник, 18.04.2017, 15:44 | Сообщение # 14
Генерал-лейтенант
Группа: Проверенные
Сообщений: 788
Награды: 35
Репутация: 35
Статус: Offline
Nikito$, сейчас некогда возиться, набросок сделал, есть желание, можете добить доконца.
Прикрепления: RTC_set.rar(57Kb)
 
Nikito$ Дата: Вторник, 18.04.2017, 15:58 | Сообщение # 15
Лейтенант
Группа: Проверенные
Сообщений: 74
Награды: 2
Репутация: 1
Статус: Offline
Цитата Boroda ()
А если кнопок +/- только две, а нужно поменять часы, минуты, секунды, год и т.д?Ставим кнопку "селект" со счетчиком и по счетику разблокируем ANDы блоков изменения часов, минут, секунд и т.д.
Это у меня уже реализовано tongue  Вот по такому принципу. Далее буду мигание нужных разрядов добавлять)) 
Прикрепления: 2521595.jpg(123Kb)
 
Форум » Основной » Спросить у знатоков » Часы DS3231 (Установка времени и даты)
Страница 1 из 212»
Поиск:

FLProg © 2017
Яндекс.Метрика