DS1307 используя аппаратный I2C
Re: DS1307 используя аппаратный I2C
Попробовал все варианты. 25:25:25... Похоже, что DS-ка не работает вообще. Завтра, наверное поменяю.
Этот пост оказался полезен? Не поленись, нажми
слева!

Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
слева!Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
- Apparatchik
- Держит паяльник хвостом
- Сообщения: 908
- Зарегистрирован: Вс май 23, 2010 13:55:42
- Откуда: Украина, Александрия
Re: DS1307 используя аппаратный I2C
*Trigger* писал(а):Попробовал все варианты. 25:25:25... Похоже, что DS-ка не работает вообще. Завтра, наверное поменяю.
Просимулируйте мой проэкт в протеусе. Уменя работает. Может ошибки в монтаже.
Если прошить контроллер "моей" прошивкой, то на выводе 7 DS1307 будут секундные импульсы (конечно если она исправна) и повесив туда светодиод с резистором можно их наблюдать.
Есчо правильность схемы можно проверить не читая с DS1307 , а просто присвоить hour min и sec какието значения и посмотреть что выводится. Чтение с дски нужно закоментировать.
«И всё-таки она вертится!»
Re: DS1307 используя аппаратный I2C
Ваша программа у меня на железе не работает (25:25:25). С числами в регистрах пробовал, всё отлично.
Сейчас программа вот такая:
Управление работает. А вот чтение и запись - нет. Светодиод не мигает ни при какой программе.
Сейчас программа вот такая:
Управление работает. А вот чтение и запись - нет. Светодиод не мигает ни при какой программе.
Этот пост оказался полезен? Не поленись, нажми
слева!

Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
слева!Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
- Apparatchik
- Держит паяльник хвостом
- Сообщения: 908
- Зарегистрирован: Вс май 23, 2010 13:55:42
- Откуда: Украина, Александрия
Re: DS1307 используя аппаратный I2C
*Trigger* писал(а):Ваша программа у меня на железе не работает (25:25:25). С числами в регистрах пробовал, всё отлично.
Сейчас программа вот такая:
Управление работает. А вот чтение и запись - нет. Светодиод не мигает ни при какой программе.
Записывать в DS1307 нужно в двоичнодесятичном формате, тоесть если переменная x в двоичном то
Код: Выделить всё
y=bin2bcd(x);Если когда просто присваивать переменным значения без DS1307 и индикация работает значит дохлая DS1307.
Последний раз редактировалось Apparatchik Вт янв 25, 2011 18:53:02, всего редактировалось 1 раз.
«И всё-таки она вертится!»
- Apparatchik
- Держит паяльник хвостом
- Сообщения: 908
- Зарегистрирован: Вс май 23, 2010 13:55:42
- Откуда: Украина, Александрия
Re: DS1307 используя аппаратный I2C
Кстати DS1307 без батарейки может неработать, лучше её поставить, ну и кварц часовой самособой.
«И всё-таки она вертится!»
Re: DS1307 используя аппаратный I2C
Кварц может быть и плохой. Вместо батарейки подключил вход для батарейки к плюсу питания.
Этот пост оказался полезен? Не поленись, нажми
слева!

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

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

Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
слева!Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
- Danko
- Сверлит текстолит когтями
- Сообщения: 1287
- Зарегистрирован: Пн окт 13, 2008 11:45:54
- Откуда: РФ, Крым, г.Бахчисарай
- Контактная информация:
Re: DS1307 используя аппаратный I2C
bin это binary - двоичный
bcd это binary-coded-decimal - переводить?
двойка в середине это to на русском в
bin2bcd - двоичный в двоично-десятичный
bcd2bin - двоично-десятичный в двоичный
bcd это binary-coded-decimal - переводить?
двойка в середине это to на русском в
bin2bcd - двоичный в двоично-десятичный
bcd2bin - двоично-десятичный в двоичный
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
- Apparatchik
- Держит паяльник хвостом
- Сообщения: 908
- Зарегистрирован: Вс май 23, 2010 13:55:42
- Откуда: Украина, Александрия
Re: DS1307 используя аппаратный I2C
*Trigger* писал(а):Вместо батарейки подключил вход для батарейки к плюсу питания.
Для чистоты эксперемента может хоть к двум пальчикам подключить временно.
«И всё-таки она вертится!»
Re: DS1307 используя аппаратный I2C
Ура!!! Работает!!!
Оказывается, нужно было подключить либо батарейку, либо посадить вход для батарейки на землю.

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

PS. Это моя первая программа для МК. Светодиод не в счёт!!!
Этот пост оказался полезен? Не поленись, нажми
слева!

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

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

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

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

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

Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
слева!Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.