Помогите подправить прошивку

Обсуждаем контроллеры компании Atmel.
Ответить
Прорезались зубы
Сообщения: 246
Зарегистрирован: Пн окт 31, 2016 10:57:29
Откуда: Апрелевка

Сообщение SP634 »

Здравствуйте!
Есть небольшой вопрос :? . Собрал я одному хорошему человеку часы-термометр, работает отлично, но есть небольшой дефект в программе: неправильно отражается режим «Рост температуры».
В режиме «Снижение температуры» мигают сегменты F и G (стрелка вниз), а при росте температуры мигают сегменты С и D, хотя, по логике, должны мигать сегменты А и В (стрелка вверх). Обратился к автору конструкции, он разбираться с этим отказался, ссылаясь на нехватку времени. Я, увы, не силён в программировании, может-быть кто-то сможет подправить прошивку. Или хотя-бы укажите, куда копать. Все материалы в архиве, использован индикатор ОА. Заранее благодарен
Вложения
Часы-термометр для дома.rar
(205.88 КБ) 256 скачиваний
Реклама
Друг Кота
Аватара пользователя
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск

Сообщение pyzhman »

Я смогу.
Docendo discimus
Контактная информация:
Реклама
Прорезались зубы
Сообщения: 246
Зарегистрирован: Пн окт 31, 2016 10:57:29
Откуда: Апрелевка

Сообщение SP634 »

Здравствуйте, уважаемые форумчане!
Есть идеи?
Друг Кота
Аватара пользователя
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Сообщение Ivanoff-iv »

в файле HomeWath.asm
строки 744 и 746 (менять значения после $)
ну и потом пересобрать прошивку

Добавлено after 56 seconds:
просто раз пообещали помочь, то я и не лезу

Добавлено after 20 minutes 7 seconds:
в протеусе куда не кручу - всё CD мигают.
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Реклама
Эиком - электронные компоненты и радиодетали
Вымогатель припоя
Сообщения: 630
Зарегистрирован: Пн июн 14, 2010 13:07:29
Откуда: Жуковский

Сообщение a_skr »

F и G нигде не зажигаются.
в одном случае зажигаются C и D - код $0C,
в другом - A и B - код $03.
в файле HomeWath.asm найдите кусок кода:

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

       SBRC  RegFlags1,F_TH_Up
       LDI   R30,$0C
       SBRC  RegFlags1,F_TH_Down
       LDI   R30,$03
исправьте на нужный код и перекомпилируйте. если не умеете - скажите какой символ на какой поменять.
Изображение - $0C - здесь имеется ввиду, что график темперуты идет снизу вверх
Изображение - $03 - здесь наоборот, это не стрелки
Вложения
p.png
(2.67 КБ) 806 скачиваний
m.png
(2.65 КБ) 764 скачивания
Реклама
Прорезались зубы
Сообщения: 246
Зарегистрирован: Пн окт 31, 2016 10:57:29
Откуда: Апрелевка

Сообщение SP634 »

Что-то я запутался совсем. Давайте сначала: График температуры идёт снизу вверх, т.е. температура повысилась - следовательно, в значке градуса должны постоянно гореть сегменты F и G, а мигать должны А и В. Соответственно, при снижении температуры постоянно горят сегменты А и В, а мигать должны сегменты F и G. Как-то так на мой взгляд. Индикатор с ОА. Ну конечно стрелки весьма условные.
Реклама
Вымогатель припоя
Сообщения: 630
Зарегистрирован: Пн июн 14, 2010 13:07:29
Откуда: Жуковский

Сообщение a_skr »

там же поочерёдно - то значок градуса, то кусок графика.
Прорезались зубы
Сообщения: 246
Зарегистрирован: Пн окт 31, 2016 10:57:29
Откуда: Апрелевка

Сообщение SP634 »

Ах вот в чём дело!!! Теперь понятна идея автора. Но, как мне кажется, мой вариант более наглядный и простой для восприятия. Поэтому, если конечно есть такая возможность, просьба переделать этот кусок кода именно так (см.выше)
Друг Кота
Аватара пользователя
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Сообщение Ivanoff-iv »

тогда тебе и на "стрелке вниз" тоже градус пририсовать надо:
$0C -> $6F
$03 -> $60
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Вымогатель припоя
Сообщения: 630
Зарегистрирован: Пн июн 14, 2010 13:07:29
Откуда: Жуковский

Сообщение a_skr »

пробуйте. там я еще свой вариант добавил и еще варианты с более быстрым опросом датчика (10 сек вместо 60)
Вложения
HomeWath.rar
(51.11 КБ) 202 скачивания
Прорезались зубы
Сообщения: 246
Зарегистрирован: Пн окт 31, 2016 10:57:29
Откуда: Апрелевка

Сообщение SP634 »

А можно-ли сделать так: при понижении температуры значок градуса чередуется с "куском графика вниз" (сегменты А и В) -т.е. здесь всё остаётся как есть. При повышении температуры значок градуса чередуется с "куском графика вверх" (сегменты G и В). Так и наглядно, и сохраняется задумка уважаемого автора статьи

Добавлено after 28 minutes 6 seconds:
И ещё вопрос практический: можно-ли перепрошить запаянный контроллер? Нужно-ли отключать при программировании датчик температуры?
Вымогатель припоя
Сообщения: 630
Зарегистрирован: Пн июн 14, 2010 13:07:29
Откуда: Жуковский

Сообщение a_skr »

в любом случае что-то чередуется со значком градуса. напишите или лучше нарисуйте, что должно чередоваться со знаком градуса в каждом режиме. а лучше сами попробуйте. это очень просто:

допустим, нужен символ, в котором должны гореть a,b,g. забиваем нужные единицами:

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

h g f e d c b a
0 0 1 0 0 0 1 1
добавляем 0b и получаем двоичное 0b00100011
его пишем в программу вместо $03 или $0C
далее в папке с исходниками запускаем compile.bat и получаем hex (папку с исходными текстами и компилятором приложил)

прошивать можно. датчик отключать не надо. если только последовательным программатором.
Вложения
HomeWath.rar
(200.77 КБ) 231 скачивание
Прорезались зубы
Сообщения: 246
Зарегистрирован: Пн окт 31, 2016 10:57:29
Откуда: Апрелевка

Сообщение SP634 »

a_skr, огромное Вам спасибо! Спасибо всем, кто откликнулся! Обязательно отпишусь по результатам.

Добавлено after 3 hours 18 minutes 20 seconds:
Переделал пошивку с помощью рекомендаций уважаемого a_skr. Теперь всё стало совсем хорошо :))
Вот мой вариант для мастерской - грубовато, зато большие цифры и неубиваемый корпус 8)
Вложения
1.jpg
(182.85 КБ) 369 скачиваний
2.jpg
(172.73 КБ) 211 скачиваний
Вымогатель припоя
Сообщения: 630
Зарегистрирован: Пн июн 14, 2010 13:07:29
Откуда: Жуковский

Сообщение a_skr »

Очень рад за Вас!!! :beer:
Ошибку в моём сообщении кто-нибудь заметил? :))
Прорезались зубы
Сообщения: 246
Зарегистрирован: Пн окт 31, 2016 10:57:29
Откуда: Апрелевка

Сообщение SP634 »

Ошибка - двоичное число 0b00100011? Или то, что вместо сегмента f указан g?
a_skr писал(а):должны гореть a,b,g
Это не хвост, это антенна
Сообщения: 1480
Зарегистрирован: Ср июн 25, 2008 15:19:44

Сообщение Demiurg »

Интересный стиль программирования. Код неплохо оформлен. Интересно, на форумах он под каким ником?
Контактная информация:
Прорезались зубы
Сообщения: 246
Зарегистрирован: Пн окт 31, 2016 10:57:29
Откуда: Апрелевка

Сообщение SP634 »

Это устройство не с Радиокота, с другого сайта (см. выше). Я связался с автором, но он, ссылаясь на нехватку времени, поправить прошивку отказался. Поэтому я и обратился к форумчанам. Вот что у меня в итоге получилось: (но это на мой вкус).
Вложения
HomeWath 25.8.17.hex
(5.63 КБ) 364 скачивания
Это не хвост, это антенна
Сообщения: 1480
Зарегистрирован: Ср июн 25, 2008 15:19:44

Сообщение Demiurg »

Программа на ассемблере. Возможно, автор перешел на си и отказывается поддерживать программы на асме. Лично я бы забил на старые проекты на асме. Кроме коммерческих случаев.
Контактная информация:
Ответить

Вернуться в «AVR»