Заголовок сообщения: Re: Не могу запустить RTC DS1307 на Atmega8
Добавлено: Сб фев 25, 2017 15:38:47
Модератор
Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57 Сообщений: 4510 Откуда: Планета Земля
Рейтинг сообщения:0 Медали: 1
ma5a97 писал(а):
Для такого спеца это проблема ?
Нет, не проблема. Но где я в этой теме обещал кому-то программу писать ? Или я подряжался на этом форуме всем помогать с кодом ? Что-то не припоминаю...
ma5a97 писал(а):
Или только остальных можем поливать грязью ?
Покажите, кого я тут грязью облил. В этой теме я отвечал только вам и на пост, содержащий тупые советы. Человек вам твердит, что у него DS'ка не отвечает, а вы ему про какую то установку секунд твердите. Как можно в ней что-либо установить, если она "слепа", что обуславливается отсутствием АСК-подтверждением ? Ещё и про какие-то команды инициализации начали говорить. Бредите ?
ma5a97 писал(а):
Выложу как будет схема.
Вы вообще посты читаете ? Такое ощущение, что нет, ну или через строчку
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Да в последнем предложении тупанул , не мне адресовалось
установить, если она "слепа", что обуславливается отсутствием АСК-подтверждением ? Неужели трудно попробовать было прежде чем писать ?
Ещё и про какие-то команды инициализации начали говорить. Бредите ? Имелось ввиду обратится по адресу 00 и записать 00 Во всех устройствах собранных мной , пришлось добавить функцию запуск RTC , а без этого некоторые экземпляры стартовали сразу , а некоторые вели себя так-как будто на квадратной шине пусто . Я надеюсь доступно описал суть . И в чем корявость перевода того даташита что я выложил.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Пробовал по советам выше запустить ДС-ку уменьшив напряжение батареи. Даже старую нашел на 2,3В. Пробовал без батареи и пробовал замыкать контакт батареи на землю. Ответа нет!
Спрошу еще раз: если кварца нет, ДС-ка будет отвечать на команды, пусть даже время стоит? Или ей нужен генератор для работы?
Выше писали как определить обрыв кварца. Я понял что без кварца работает и отвечает, только время не тикает как у многих было. Так?
_________________ Одна голова - хорошо, а две - это уже V6
Специально отпаял кварц и батарейку , не работает без них . Постоянно пытается поднять шину , но она не поднимается (устройство одно). Потом впаял по очереди кварц и батарейку на место , и контроллер сразу загрузился , но часы не пошли , а вместо секунд высветило 1212. Пара картинок ,прикрепляю . Верхняя строка слева , это часы . Где схема ? Сколько можно гадать
Специально отпаял кварц и батарейку , не работает без них . Постоянно пытается поднять шину , но она не поднимается (устройство одно). Потом впаял по очереди кварц и батарейку на место , и контроллер сразу загрузился
Блин. Уже бы попробовали с батарейкой, но без кварца.
Вы ведь читали в чем именно вопрос?
Viper70 писал(а):
если кварца нет, ДС-ка будет отвечать на команды, пусть даже время стоит?
_________________ Одна голова - хорошо, а две - это уже V6
Много раз уже говорилось - у 1307 несколько специфичное понимание I2C в отношении операций по предварительно заданному адресу... Возможно программная ошибка.
После запуска подпрограммы заход в нее осуществляется по прерыванию SSPIF. Между операциями проц занят другими задачами EEadd - внешняя переменная равная 0. bufEE задается изначально
Остановка при EEp=4. Значит после отправки адреса заходит по прерыванию с EEp=3, ACKSTAT=1. Поэтому пропускает шаг и увеличивает EEp до 4
Напомню, что это кусок на Си для PIC
_________________ Одна голова - хорошо, а две - это уже V6
Последний раз редактировалось Viper70 Вс фев 26, 2017 20:01:01, всего редактировалось 1 раз.
По даташиту такого обращения быть не должно - там только обмен массивом закладывался. По факту - модификация рестарта "с тараканами" относительно того, кому АСК выставлять. Работает весьма уверенно (особенно если побайтовый доступ к ОЗУ используется). А реализацию - смотреть самому.
BOB51 у меня по сути так же. Только нет керамики по питанию. Но ведь это не критично? Меня не глюки достают - вообще не работает И кварц у вас без всяких полигонов под ним и не заземлен его корпус наверное и все работает
Похоже у меня проблема либо в кварце, либо в микросхеме?
Кварц новый, маленький. Еще меньше вашего. А вот микросхему я уже выпаивал с похожей схемы. Там не был реализован код и она не проверялась. Была новая микруха. Потом собрал новую плату, доделал код и перепаял ДС-ку. Может перегрел? Просто на тот момент другой небыло
_________________ Одна голова - хорошо, а две - это уже V6
Может и кварц... "Слишком мелкие" весьма капризны - а вот такой как на платке как-бы "стандартный" (в простонародном слэнге "спиралька" вроде). Можно еще содрать с бэушного кассового аппарата...
После запуска подпрограммы заход в нее осуществляется по прерыванию SSPIF. Между операциями проц занят другими задачами EEadd - внешняя переменная равная 0. bufEE задается изначально
Остановка при EEp=4. Значит после отправки адреса заходит по прерыванию с EEp=3, ACKSTAT=1. Поэтому пропускает шаг и увеличивает EEp до 4
Напомню, что это кусок на Си для PIC
Вообще, не очень понятно, что и до куда доходит и где что останавливается. Если это автомат, то где изменение (инкремент, в данном случае) переменной EEp ? Где обработка ошибки (как Вы выражаетесь "останов") ? Каким образом смотрите что происходит ? Отладчик, или что ? По этому куску тяжело судить о том, что в реальности происходит. Но, сдаётся мне, проблема именно в коде, а не в микросхеме. Я бы на Вашем месте не торопился бежать в магазин за новой, а, для начала, сделал бы общение тупым последовательным методом. Плюс ещё и сам I2C программным.
Если это автомат, то где изменение (инкремент, в данном случае) переменной EEp ? Где обработка ошибки (как Вы выражаетесь "останов") ? Каким образом смотрите что происходит ? Отладчик, или что ? По этому куску тяжело судить о том, что в реальности происходит.
Я и не спешил выкладывать код, чтоб не морочить голову вам. Вы не внимательно смотрите. Инкремент в конце процедуры. На плате стоит дисплей 20х4. На него при старте выводится EEp. Если запись во флеш, то светится EEp=14. Нужно очень внимательно смотреть, чтобы понять почему именно 14 Если запись в RTC то светится EEp=4. Потому что нет ASK от RTC. В симуляторе Протеуса обе процедуры отрабатывают правильно
А в магазинах у нас такой микрухи нет. Или из Китая заказывать или их другого города. Из Китая дешевле намного, но очень долго. Если бы мог купить микросхему тут - давно бы перепробовал все варианты и не стал бы спрашивать
_________________ Одна голова - хорошо, а две - это уже V6
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 41
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения