Да, на время обмена CE=1, после обмена CE=0. Причем, в таташите указаны ВСЕ времена: пауза после CE=1, после CE=0 и т.д. и т.п. И эти времена необходимо выдерживать.
НУ ТАК НА ДИАГРАММЕ МЕЖДУ командным байтом и приемом я не выставил СЕ в 0...
Добавлено after 11 minutes 49 seconds:
Цитата:
Теперь реши загадку, почему передача байта в часы у тебя с каждым тактом всё медленнее.
я с самого начала это заметил, пока думаю)) из-за сдвигового регистра, который сдвигает маску идет торможение?
Приветствую! ни в какую не могу запустить часы.... пробую СЕ опустить в 0 после комбайта, и не опуская, часы мне не отвечают. пробовал и с подтяжкой и без.... может часы неисправны.... вот код последней версии: #define F_CPU 8000000UL #include <avr/io.h> #include <util/delay.h> #define DDR_ds1302 DDRA #define PORT_ds1302 PORTA #define PIN_ds1302 PINA #define CE 7 #define SCLK 6 #define DATA 5
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Как-то у меня с этой ds1302 проблем не было. Прочитал даташит, написал и всё заработало. Был еще один проект на пике pic12f629 - но там на ассемблере и дата/клок там были объединены в шину со сдвиговым регистром для отображения.
_________________ А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Проверил кварц на часах осцлографом, диаграмму не наблюдаю,пойду попробую перепаяю...одно меня смущает,в даташите про бит ch упоминается, мол не выставишь его часы не пойдут...на кварц же он не должен никакого влияния оказывать?
Скорее, подключая осциллограф, генерация просто срывается. Там очень маломощный генератор. И вы обратили внимание, что для 1302 надо кварц расчитанный на ёмкость всего 6пФ? Хотя, нет. Можно и больше, просто снаружи надо будет навесить дополнительные ёмкости.
_________________ А люди посмотрят и скажут: "Собаки летят. Вот и осень."
перепаял, результатов нет...собрался было бежать за новой микросхемой. да рашил прогнать свой код в протеусе, что там я увижу...так там осцилограф улавливает обратную связь и время правильно кодируется. интересный момент то, что после передачи комбайта я сбрасываю ножку DATA в 0, а часы возвращают ее в 2 В. это так понимаю уровень лог.0 у часов.СЕ после комбайта не сбрасываю а подтяжку на DATA подключаю. завожу свой код на железе диаграмма с анализатора при обратке показывает только синхронные импульсы с SCLK.
Добавлено after 25 minutes 4 seconds:
Цитата:
Скорее, подключая осциллограф, генерация просто срывается.
Вы были правы.Щуп с кондером дал результат.Теперь хоть знаю, что кварц исправен.Допустим, что микросхема исправна,Какие еще могут быть нюансы? На логическом анализаторе могут быть какие либо искажения?и в следствии этого я не вижу обратную связь?
Контрольные тесты устройств с протоколом реального времени точно можно только под ассемблером сделать/протестировать. А под СИ предпочтительно уже готовыми результатами пользоваться.
За ассемблер в перспективе собираюсь браться, пока С/С++... Микросхема мне чет не нравится, надо с другой попробовать думаю... С ds18b20 гораздо проще было... часики эти меня очень вымотали
Подумываю над этим! ну как то обидно потратив кучу времени и усилии бросить не разобравшись до конца... Скорее поставлю 1307...но за 1302 я еще возьмусь
Скажу одно - нужно строго выполнять даташит и всё будет работать. За часок быстренько прочитал даташит и сделал тест - и часы тикают, и читаются и пишутся в них. (Хорошо, что в заначке были эти часы)
бит ch упоминается, мол не выставишь его часы не пойдут...на кварц же он не должен никакого влияния оказывать?
Пока бит "ch" не обнулён - м/с в области ячеек RTC работает как обычная память. Какие дату/время запишешь - те и будет постоянно показывать. Забей пока на кварт с часами, отладь диаграмму - пиши/читай в RAM-область часов (от 0xC0 и далее)
Добрый день форумчане!!! Снова возвращаюсь к данной проблеме т.к. она все еще не решена мною. Было испробованы новые МС, новый модуль,но ничего нового это не дало.Часы не отвечают на запросы Меги16, т.е. я не могу считать информацию с них. Я не знаю уже где собака зарыта. Вроде делаю все согласно даташиту.... Может это звучит беспардонно,но хотелось бы, чтоб мне уже ткнули пальцем на мои ошибки и ясно сказали где я заблуждаюсь.Ну или привели пример рабочего кода,хотя бы функцию записи и чтения...а там разберусь сам.Кстати код в протеусе показывает свою работоспособность. Парадокс какой-то.
Код, писаный два месяца назад за час времени. Код некрасивый, а в паре мест - жутко некрасивый. И ни одного комментария. Сам себя за это ругаю теперь. Моё единственное оправдание - время написания кода.
// !!! Вот так делать нельзя. // Прошла пара месяцев, а я уже не помню что означают эти числа, а тем более зачем паузы - надо даташит смотреть. ds1302_writeData(0x80, 0x03); __delay_cycles(DELAY_10ms); ds1302_writeData(0x82, 0x45); __delay_cycles(DELAY_10ms); ds1302_writeData(0x84, 0x55);
Попробовал прочесть RAM как мне рекомендовали выше, читается довольно таки стабильно, пытаюсь прочесть минуты часики уходят в игнор...че за баг не пойму?!
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения