[quote="dt_andrew"]обьясните как с помощью дуде прошить БИН в ЕЕПРОМ по виндой у меня в SinaProg выбор файла для загрузки в ЕЕПРОМ вообще не активно может как то можно чтоб и файл для ЕЕПРОМ тоже был HEX
Странно, использую SinaProg 1.5.5.10 и успешно ею прошиваю EEPROM BIN файлом. Просто в строку Hex file кидаю файл BIN и жму Program под надписью EEPROM.
У меня перестала работать автоматическая яркость. Вообще никакая не работает. Цифры меняю, а яркость одна и та же. Не помешали бы всякие корректировки: температуры, давления. У меня давление врет на 22 мм !
разница - в пределах градуса и в пределах полумиллиметра ртутного столба. Так что я сомневаюсь, что все они врут одинаково, скорее - не врёт ни один. При этом на сайте http://rad.org.by/monitoring/air.html показания давления в пределах 985,4..986,1 гПа, что соответствует 739мм рт. ст. так что всё точно.
P.S. Ещё одно небольшое обновление. Ничего нового, только оптимизации кода.
Предыдущая выложенная требовала 7912/802 байтa FLASH/RAM соответственно (для ATmega8), после оптимизаций аппетиты уменьшились до 7298/790. То есть удалось отыграть 614 байтов.
Ещё чуть-чуть (260 байтов) и вариант с BMP180 для ATmega8 станет полностью работоспособным. Пока же отключен только интерфейс настройки будильника (сам будильник будет работать, если был настроен на обычной прошивке или через EEPROM). Для ATmega168/328 должны работать все функции.
прошивку сам не собирал взял готовую, без BMP180 загружаю готовую прошивку для 328 меги прошиваю ЕЕПРОМ датчик 1820 подключен, 3231 модуль тоже на экране нечто похожее на цифры но ничего не работает , ни кнопки ни бег строка
проверяю стенд на своей библиотеке для 7219 все работает как надо где еще глянуть монтаж проверял не раз
собрал прошивку сам - стало лучше, но все равно многое не работает такое впечатление что это под 4 матрицы
что должно быть подключено к ADC0
Последний раз редактировалось dt_andrew Вс июн 21, 2015 05:52:14, всего редактировалось 1 раз.
У меня в железе работают на ATmega8 варианты с HT1632 и MAX7219, в Proteus также вполне работает вариант под ATmega328. Вот проект приложен с последними прошивками (я их выше уже выкладывал).
Прошивка в принципе больше подходит для цепочки из четырёх матриц, но и с тремя она вполне работает. На трёх матрицах не будет видно относительно незначащей информации (секунд). И функция поворота картинки на 180 градусов будет работать немного некорректно.
можно прошивку без MOD мега328 у меня счас так, при включении проскакивает часы и ярко начинает светиться звездочки ярко и бегают пикселы в одной строке матрицы через какое то время начинает показывать часы (только повернуто на 90 град) с нормальной яркостью потом бегущую строку кнопки так и на работают, но с ними разберемся видно модуль кнопок дохлый
Сейчас с утра заметил небольшой баг - при первом включении нули во времени отображаются пробелами, после любой нажатой кнопки всё ОК. Исправлю.
А прошивку "без MOD" из предыдущего поста возьмите. Они все работают, префикс MOD означает лишь программный разворот модуля на 90 градусов - готовые модули распаяны именно так, что удобнее плату на них делать с программным поворотом картинки на модуле.
заработало MOD версия но все одно с чудесами при включении показывает часы 15:47 две точки прыгают в центре между 2 неподвижными в последней колонке 16-теричные секунды не изменяются горят 6 точек проходит время - бегущая строка - все нормально - заканчивается она и ОППА!!! переворот экрана и уже к верхногами показывает минуты и секунды мельким шрифтом мало того что к верх ногами так мелкие сек в левой матрице вывод как бы идет справа на лево к верхногами проходит время - бегущая строка - все нормально - но вверх ногами и движется слева на право - заканчивается экран снова переворачивается и становится нормально и так по кругу через некоторое время 3-5 мин вообще все выводится мелким шрифтом
вот еще предложение по уменьшению кода хоть и не много но все же уберите вывод секунд в 16теричном формате в последней колонке мигающие точки вполне достаточно
вообщем странный косяк у меня - часы работают если подключить программатор хотя сам программатор (AVR by Petka V3) отключен и питание на него не подается
в последней колонке 16-теричные секунды не изменяются горят 6 точек
В последней колонке не секунды, а запрограммированные для будильника дни недели. Коль скоро они у вас горят, значит, в EEPROM сохранены ненулевые байты для них. А в моих EEPROM там нули. Следовательно - Вы не прошили EEPROM.
dt_andrew писал(а):
переворот экрана и уже к верхногами показывает минуты и секунды мельким шрифтом
Опять же, повороту экрана вверх ногами соответствует ненулевой определённый байт в EEPROM (в моих файлах EEPROM он по умолчанию равен 0). Это ещё одно подтверждение не прошитого EEPROM.
Сейчас ради интереса скормил прошивке EEPROM со всеми байтами 0xFF (как у чистого МК). И действительно, после этого в симуляторе Proteus система не работает - т.е. работает практически как Вы описали - со странными глюками, мерцаниями и т.д.
В общем, зашивайте EEPROM в контроллер. Если FUSE-биты не запрограммированы как у меня, он при прошивке FLASH автоматом обнуляется, так что шейте его во вторую очередь, после самой прошивки.
так и делаю сначала флеш потом ЕЕПРОМ пробывал прошивать файлом сконвертированным по вашей команде avr-objcopy так и сторонним конвертором особой разнице не увидел я понимаю что BIN файл ЕЕПРОМ позволяет впрямую изменять строковые константы и прочее без перекомпеляции проекта но черт знает как эти конверторы работают призываю вас ув. автор давать все таки HEX для ЕЕПРОМ
я бы и сам сделал но у меня проект не полностью собирается под WINAVR - ошибка при создании файла .elf хотя сама прошивка создается без вопросов
вот протокол прошивки ЕЕПРОМ
Код:
avrdude: AVR device initialized and ready to accept instructions avrdude: Device signature = 0x1e950f avrdude: reading input file "F:\matrixclock-32ed8b51ef5c509c6068c8349f00751c55d39da2\eeprom\matrixclock_en.bin" avrdude: input file F:\matrixclock-32ed8b51ef5c509c6068c8349f00751c55d39da2\eeprom\matrixclock_en.bin auto detected as raw binary avrdude: writing eeprom (512 bytes): avrdude: 512 bytes of eeprom written avrdude: verifying eeprom memory against F:\matrixclock-32ed8b51ef5c509c6068c8349f00751c55d39da2\eeprom\matrixclock_en.bin: avrdude: load data eeprom data from input file F:\matrixclock-32ed8b51ef5c509c6068c8349f00751c55d39da2\eeprom\matrixclock_en.bin: avrdude: input file F:\matrixclock-32ed8b51ef5c509c6068c8349f00751c55d39da2\eeprom\matrixclock_en.bin auto detected as raw binary avrdude: input file F:\matrixclock-32ed8b51ef5c509c6068c8349f00751c55d39da2\eeprom\matrixclock_en.bin contains 512 bytes avrdude: reading on-chip eeprom data: avrdude: verifying ... avrdude: 512 bytes of eeprom verified
avrdude: safemode: Fuses OK
avrdude done. Thank you.
артефакты с переворотом и прочее остались
через 5 мин сменился шрифт на жирный и точки сек мигают как у OLED часах потом точка снова стала скакать как и проежде - шрифт остался жирный потом смена на мелкий в общем чудеса и только в чем косяк не пойму
призываю вас ув. автор давать все таки HEX для ЕЕПРОМ
Смысла нет. Proteus работает с binary, он удобнее для правки в hex-редакторе, в конце концов, любое преобразование hex<->binary легко сделать с помощью avr-objcopy. Да и avrdude вполне зашивает. Кстати, для проверки можете считать из МК в файл (-U eeprom:r....) и глянуть hex-редактором.
У Вас проект в Proteus работает хотя бы с теми же прошивками (как я понял, Вы пытаетесь компилировать проект сами)? Попробуйте уменьшить в matrix.h размер буфера в ОЗУ для вывода строки MATRIX_BUFFER_SIZE - может, Ваш компилятор плохо оптимизирует использование ОЗУ и происходит перекрытие кучи со стеком.
А кто-нибудь ещё из форумчан здесь пробовал последние прошивки под ATmega328?
Просто действительно интересно, в чём дело. В железе у меня только ATmega8 есть (варианты под MAX7219 и HT1632, оба работают прекрасно), но для других МК разница ведь мизерная - чуть отличается инициализация таймеров 0 и 2 (matrix.c, mtimer.c).
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 23
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения