Страница 1 из 1

Странная проблема с портами мк AVR

Добавлено: Вт янв 28, 2014 14:34:28
Viktor_f
Недавно возникла следующая проблема: при прошивке мк программой, работающей с портом (допустим мигает светодиодом) - ничего не работает, порт "застревает" на первом значении, записанном в него и на дальнейшие действия программы попросту не реагирует (будь то смена уровня на выходе или переключение разряда). От того, написана ли программа с использованием прерываний или без них, ничего не меняется. Причём та же программа без проблем работает на не "испорченном" мк того же типа, вставленном в ту же схему, прошитом тем же программатором.
Микроконтроллеры "портятся" таким образом внезапно (проблема может возникнуть после любой перепрошивки), после чего порты мк (все!) нормально не функционируют. Программатор же ошибок не находит, прошивая "испорченный" мк и дальше без претензий.
Программатор самодельный usbtiny; программа avrdude (пробовал в консольной замедлять скорость программирования - не помогло); пишу на ассемблере; изменение фузов не помогает.
Таким образом накрыты порты на двух attiny2313 и на одном atmega8515, аппаратные функции на них же (ШИМ например) работают как положено.

Хотел бы узнать можно ли вернуть эти мк к нормальной работе и в чём заключается причина данной проблемы. Заранее благодарен.

Re: Странная проблема с портами мк AVR

Добавлено: Вт янв 28, 2014 15:28:21
Gudd-Head
Чудеса! :)

Re: Странная проблема с портами мк AVR

Добавлено: Вт янв 28, 2014 15:37:59
Dr. Alex
А ещё, благодаря телепатическим навыкам, я могу сказать какого цвета ваши трусы!!!!!!

Вы хотя-бы схему выложили устройства!

Re: Странная проблема с портами мк AVR

Добавлено: Вт янв 28, 2014 15:38:46
Gudd-Head
Dr. Alex писал(а):Вы хотя-бы схему выложили устройства!
И прошивку.

Re: Странная проблема с портами мк AVR

Добавлено: Вт янв 28, 2014 15:39:41
Dr. Alex
Верно!

Re: Странная проблема с портами мк AVR

Добавлено: Ср янв 29, 2014 14:37:35
Viktor_f
Вот схема и прошивки:

Re: Странная проблема с портами мк AVR

Добавлено: Ср янв 29, 2014 14:47:40
Viktor_f
В общем, схема - восемь светодиодов с резисторами по 330 Ом. Вернее - это часть схемы тестовой платы. Питание от БП компа.

Re: Странная проблема с портами мк AVR

Добавлено: Ср янв 29, 2014 15:42:33
Gudd-Head
Viktor_f писал(а):Вот прошивки
Пиздец, ну и код. Но вроде работает — нога какая-то дрыгается. Может, у МК просто фьюзами меняется тактирование, и он работает, но оооочень медленно?

Re: Странная проблема с портами мк AVR

Добавлено: Ср янв 29, 2014 16:08:14
Viktor_f
Насчёт фьюзов - исключено. Проверял долго и настойчиво и на разных мк.
Может ли программатор, поймав помеху сотворить такое с контроллером?
Насчёт кода согласен. Не знаю многого, да ещё экспериментировал с кодом.

Re: Странная проблема с портами мк AVR

Добавлено: Ср янв 29, 2014 16:34:53
Gudd-Head
Может, у вас плата такая что МК тупо зависает?

Re: Странная проблема с портами мк AVR

Добавлено: Ср янв 29, 2014 22:28:23
lawr
Второй код - точно рабочий!
Чудес, увы, не бывает, а вот сопли или другая лажа - запросто.

Re: Странная проблема с портами мк AVR

Добавлено: Пт янв 31, 2014 17:12:42
BOB51
Ошибочное мнение...
"Чудеса" вполне встечаются даже на достаточно проработанном уровне:
http://radiokot.ru/forum/viewtopic.php? ... 1%8B%D0%B9
8)
Хоша текст автора данной темы еще не глядел, но с"подарочком" от ATtiny2313 пришлось помурыжиться... :facepalm:

Re: Странная проблема с портами мк AVR

Добавлено: Пт янв 31, 2014 19:08:47
Viktor_f
Gudd-Head писал(а):Может, у вас плата такая что МК тупо зависает?
Думаю, не в плате дело. Проверял на других и просто навесным - та же фигня.
Может программатор чудит? Всё таки самодельный.

Re: Странная проблема с портами мк AVR

Добавлено: Пт янв 31, 2014 20:44:59
BOB51
фрагмент " mig.asm" работать не будет (как минимум нет включения/пуска таймера, не говоря о прочем...)
Для второго фрагмента частота переключений примерно 0,262144секунды на шаг, однако нет определения для верхушки стека (это при присутствии в исходнике подпрограммы и/или прерывания!!!) что также вызовет проблему, хоша... в 2313А по инициализации SPL=ramend...но в других такой роскоши может не быть... короткие переходы по условию действительны лишь на расстоянии +64/-63 команд(не байт!) 8)
Пердупреждение! Не применять метки созвучные зарезервированным именам и/или торговым маркам!
:)

Re: Странная проблема с портами мк AVR

Добавлено: Пт янв 31, 2014 20:56:19
Alkul
BOB51 писал(а):в 2313А по инициализации SPL=ramend...
Никогда не порекомендую на это полагаться. Всегда надо инициализировать вручную. Во избежание, так сказать.
Тем более, я полагаю, автор не инициализировал SPL не потому, что читал в даташите, об инициализации SPL значением RAMEND, а потому, что не знал об этом. А прежде чем начать элегантно обходить базовые принципы, надо эти принципы выучить.