DS1307 используя аппаратный I2C

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Аватара пользователя
*Trigger*
Друг Кота
Сообщения: 3059
Зарегистрирован: Пн май 11, 2009 14:15:00
Откуда: СПб

Re: DS1307 используя аппаратный I2C

Сообщение *Trigger* »

Попробовал все варианты. 25:25:25... Похоже, что DS-ка не работает вообще. Завтра, наверное поменяю.
Этот пост оказался полезен? Не поленись, нажми Изображение слева!
:) :)) :)))
Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
Аватара пользователя
Apparatchik
Держит паяльник хвостом
Сообщения: 908
Зарегистрирован: Вс май 23, 2010 13:55:42
Откуда: Украина, Александрия

Re: DS1307 используя аппаратный I2C

Сообщение Apparatchik »

*Trigger* писал(а):Попробовал все варианты. 25:25:25... Похоже, что DS-ка не работает вообще. Завтра, наверное поменяю.

Просимулируйте мой проэкт в протеусе. Уменя работает. Может ошибки в монтаже.
Если прошить контроллер "моей" прошивкой, то на выводе 7 DS1307 будут секундные импульсы (конечно если она исправна) и повесив туда светодиод с резистором можно их наблюдать.

Есчо правильность схемы можно проверить не читая с DS1307 , а просто присвоить hour min и sec какието значения и посмотреть что выводится. Чтение с дски нужно закоментировать.
«И всё-таки она вертится!»
Аватара пользователя
*Trigger*
Друг Кота
Сообщения: 3059
Зарегистрирован: Пн май 11, 2009 14:15:00
Откуда: СПб

Re: DS1307 используя аппаратный I2C

Сообщение *Trigger* »

Ваша программа у меня на железе не работает (25:25:25). С числами в регистрах пробовал, всё отлично.
Сейчас программа вот такая:
программа2.c
(8.4 КБ) 395 скачиваний

Управление работает. А вот чтение и запись - нет. Светодиод не мигает ни при какой программе.
Этот пост оказался полезен? Не поленись, нажми Изображение слева!
:) :)) :)))
Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
Аватара пользователя
Apparatchik
Держит паяльник хвостом
Сообщения: 908
Зарегистрирован: Вс май 23, 2010 13:55:42
Откуда: Украина, Александрия

Re: DS1307 используя аппаратный I2C

Сообщение Apparatchik »

*Trigger* писал(а):Ваша программа у меня на железе не работает (25:25:25). С числами в регистрах пробовал, всё отлично.
Сейчас программа вот такая:
программа2.c

Управление работает. А вот чтение и запись - нет. Светодиод не мигает ни при какой программе.

Записывать в DS1307 нужно в двоичнодесятичном формате, тоесть если переменная x в двоичном то

Код: Выделить всё

y=bin2bcd(x);
а y уже записывать.

Если когда просто присваивать переменным значения без DS1307 и индикация работает значит дохлая DS1307.
Последний раз редактировалось Apparatchik Вт янв 25, 2011 18:53:02, всего редактировалось 1 раз.
«И всё-таки она вертится!»
Аватара пользователя
Apparatchik
Держит паяльник хвостом
Сообщения: 908
Зарегистрирован: Вс май 23, 2010 13:55:42
Откуда: Украина, Александрия

Re: DS1307 используя аппаратный I2C

Сообщение Apparatchik »

Кстати DS1307 без батарейки может неработать, лучше её поставить, ну и кварц часовой самособой.
«И всё-таки она вертится!»
Аватара пользователя
*Trigger*
Друг Кота
Сообщения: 3059
Зарегистрирован: Пн май 11, 2009 14:15:00
Откуда: СПб

Re: DS1307 используя аппаратный I2C

Сообщение *Trigger* »

Кварц может быть и плохой. Вместо батарейки подключил вход для батарейки к плюсу питания.
Этот пост оказался полезен? Не поленись, нажми Изображение слева!
:) :)) :)))
Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
Аватара пользователя
*Trigger*
Друг Кота
Сообщения: 3059
Зарегистрирован: Пн май 11, 2009 14:15:00
Откуда: СПб

Re: DS1307 используя аппаратный I2C

Сообщение *Trigger* »

Кварц поменял на заведмо исправный. Всё так же. Кварц вне подозрения. Похоже, бракованная DS-ка.
Этот пост оказался полезен? Не поленись, нажми Изображение слева!
:) :)) :)))
Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
Аватара пользователя
*Trigger*
Друг Кота
Сообщения: 3059
Зарегистрирован: Пн май 11, 2009 14:15:00
Откуда: СПб

Re: DS1307 используя аппаратный I2C

Сообщение *Trigger* »

Код: Выделить всё

bin2bcd
bcd2bin

Какая из них для перевода из двоичного в двоичнодесятичный, а какая из двоичнодесятичного в двоичный?
Этот пост оказался полезен? Не поленись, нажми Изображение слева!
:) :)) :)))
Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
Аватара пользователя
Danko
Сверлит текстолит когтями
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай
Контактная информация:

Re: DS1307 используя аппаратный I2C

Сообщение Danko »

bin это binary - двоичный
bcd это binary-coded-decimal - переводить? :)

двойка в середине это to на русском в

bin2bcd - двоичный в двоично-десятичный
bcd2bin - двоично-десятичный в двоичный
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Аватара пользователя
Apparatchik
Держит паяльник хвостом
Сообщения: 908
Зарегистрирован: Вс май 23, 2010 13:55:42
Откуда: Украина, Александрия

Re: DS1307 используя аппаратный I2C

Сообщение Apparatchik »

*Trigger* писал(а):Вместо батарейки подключил вход для батарейки к плюсу питания.

Для чистоты эксперемента может хоть к двум пальчикам подключить временно.
«И всё-таки она вертится!»
Аватара пользователя
*Trigger*
Друг Кота
Сообщения: 3059
Зарегистрирован: Пн май 11, 2009 14:15:00
Откуда: СПб

Re: DS1307 используя аппаратный I2C

Сообщение *Trigger* »

Ура!!! Работает!!!
Оказывается, нужно было подключить либо батарейку, либо посадить вход для батарейки на землю.
:beer:
PS. Это моя первая программа для МК. Светодиод не в счёт!!!
Этот пост оказался полезен? Не поленись, нажми Изображение слева!
:) :)) :)))
Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
Аватара пользователя
Apparatchik
Держит паяльник хвостом
Сообщения: 908
Зарегистрирован: Вс май 23, 2010 13:55:42
Откуда: Украина, Александрия

Re: DS1307 используя аппаратный I2C

Сообщение Apparatchik »

*Trigger* писал(а):Ура!!! Работает!!!
Оказывается, нужно было подключить либо батарейку, либо посадить вход для батарейки на землю.
:beer:
PS. Это моя первая программа для МК. Светодиод не в счёт!!!

Мои поздравления! Моя первая была примерно такая же только я через таймеры делал. Теперь Вам нужно осваивать динамическую индикацию.
«И всё-таки она вертится!»
Аватара пользователя
*Trigger*
Друг Кота
Сообщения: 3059
Зарегистрирован: Пн май 11, 2009 14:15:00
Откуда: СПб

Re: DS1307 используя аппаратный I2C

Сообщение *Trigger* »

Ещё вопрос: если установить время больше девяти часов (минут), то записанное в DS время на 6 больше установленного, если больше 19 - на 12 больше... и т. д.
Программа вот:
программа2.c
(6.45 КБ) 447 скачиваний

Причём со значениями в переменных такого нет. Это только при записи в DS/
Этот пост оказался полезен? Не поленись, нажми Изображение слева!
:) :)) :)))
Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
Аватара пользователя
*Trigger*
Друг Кота
Сообщения: 3059
Зарегистрирован: Пн май 11, 2009 14:15:00
Откуда: СПб

Re: DS1307 используя аппаратный I2C

Сообщение *Trigger* »

Пожалуйста, помогите!!!
Этот пост оказался полезен? Не поленись, нажми Изображение слева!
:) :)) :)))
Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
Аватара пользователя
Apparatchik
Держит паяльник хвостом
Сообщения: 908
Зарегистрирован: Вс май 23, 2010 13:55:42
Откуда: Украина, Александрия

Re: DS1307 используя аппаратный I2C

Сообщение Apparatchik »

*Trigger* писал(а):Пожалуйста, помогите!!!

Глянул я на код вроде ничё неувидел, что-то там всё запутано. Но повторюсь работать с метками имхо геморой, нужно учится без них.
Я тут набросал Вам код. Индикатор обновляется по переполнению таймера и для установки времени отдельная функция. В протеусе всё работает.
Вложения
тест.rar
(45.74 КБ) 275 скачиваний
«И всё-таки она вертится!»
Аватара пользователя
*Trigger*
Друг Кота
Сообщения: 3059
Зарегистрирован: Пн май 11, 2009 14:15:00
Откуда: СПб

Re: DS1307 используя аппаратный I2C

Сообщение *Trigger* »

Изучил Вашу программу. Оказалось, что время на запись Вы задаёте в двоичном формате. Исправил в своей программе - всё отлично работает. А то тут говорили, что писать надо в двоично десятичном формате...
Спасибо огромное!!!
Этот пост оказался полезен? Не поленись, нажми Изображение слева!
:) :)) :)))
Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
Аватара пользователя
Apparatchik
Держит паяльник хвостом
Сообщения: 908
Зарегистрирован: Вс май 23, 2010 13:55:42
Откуда: Украина, Александрия

Re: DS1307 используя аппаратный I2C

Сообщение Apparatchik »

*Trigger* писал(а):Изучил Вашу программу. Оказалось, что время на запись Вы задаёте в двоичном формате. Исправил в своей программе - всё отлично работает. А то тут говорили, что писать надо в двоично десятичном формате...
Спасибо огромное!!!

Писать нужно в двоичнодесятичном, но в файле ds1307.h уже есть преобразование. Это если использовать библиотеку с этой ветки тогда нужно самому преобразовывать.
«И всё-таки она вертится!»
Аватара пользователя
*Trigger*
Друг Кота
Сообщения: 3059
Зарегистрирован: Пн май 11, 2009 14:15:00
Откуда: СПб

Re: DS1307 используя аппаратный I2C

Сообщение *Trigger* »

Я так и думал, что оно там есть.
Этот пост оказался полезен? Не поленись, нажми Изображение слева!
:) :)) :)))
Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
Аватара пользователя
Apparatchik
Держит паяльник хвостом
Сообщения: 908
Зарегистрирован: Вс май 23, 2010 13:55:42
Откуда: Украина, Александрия

Re: DS1307 используя аппаратный I2C

Сообщение Apparatchik »

Что быстрее для мк в плане скорости исполнения использовать функции библиотеки BCD, или самому делить и умножать на 10? или одинаково?
«И всё-таки она вертится!»
Аватара пользователя
*Trigger*
Друг Кота
Сообщения: 3059
Зарегистрирован: Пн май 11, 2009 14:15:00
Откуда: СПб

Re: DS1307 используя аппаратный I2C

Сообщение *Trigger* »

Надо глянуть, что в библиотеке.
Этот пост оказался полезен? Не поленись, нажми Изображение слева!
:) :)) :)))
Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
Ответить

Вернуться в «Периферия»