ATTiny2313 не прошивается повторно при использовании PORTB

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Аватара пользователя
KibeR_ShuriK
Родился
Сообщения: 6
Зарегистрирован: Вт окт 04, 2011 16:21:06

ATTiny2313 не прошивается повторно при использовании PORTB

Сообщение KibeR_ShuriK »

Здравствуйте.
Возникла такая проблема - не могу повторно прошить tiny2313 после прошивки кодом(на ассемблере), где на порт B постоянно выводится логическая единица..
Программатор: копия AVR910
Использую AvrProg. Выскакивает ошибка: Can't enter programming mode
Причем ошибка началась с того момента, когда я только-только прошил МК новым кодом - еще на этапе верификации flash. Теперь на всех пинах порта B высокий уровень напряжения, при попытке перепрошивки подключенный светодиод моргает один раз.
Фьюзы и частоту не трогал.

Возможно ли как-нибудь жестко сбросить МК, чтобы он снова заработал? Если нет, то что остается делать?.. Всё-таки жалко свежекупленную тиньку..

Код прошивки на ассемблере:

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

.include "tn2313def.inc"   
.list         
.def   temp=R16    

.cseg         
.org    0      


ldi   temp, RAMEND   
out   SPL, temp   

ldi   temp, 0      
out   DDRD, temp   

ldi   temp, 0xFF   
out    DDRB, temp   
out   PORTB, temp   
out    PORTD, temp   

ldi   temp, 0x80   
out   ACSR, temp

main:   ldi temp, 0
   out PORTB, temp
   rjmp   main   


PS. В МК новичок, только учусь :).

Заранее спасибо!
Аватара пользователя
Flasher
Мудрый кот
Сообщения: 1802
Зарегистрирован: Ср сен 07, 2011 21:40:30

Re: ATTiny2313 не прошивается повторно при использовании POR

Сообщение Flasher »

поменять программатор
Александр Гончаров
Родился
Сообщения: 14
Зарегистрирован: Вт дек 27, 2005 21:08:01
Откуда: Питер

Re: ATTiny2313 не прошивается повторно при использовании POR

Сообщение Александр Гончаров »

Тоже парился с тинькой, в итоге сделал 1 секундную задержку в самом начале кода... повесил на вывод ресет кнопку "ресет >земля". Далее делаю так нажимаю-отпускаю ресет и в течении секунды нажимаю "стереть" . стирать удобно в AVRPROG выставив AT90S2313. в CodeVision тоже можно стирать но очень долго. еще удобный способ без нажатия кнопки ресет в AVRPROG. запускаем AVRPROG выставляем AT90S2313 нажимаем Advanced, прога выдаст ошибку, жмем ОК появляется окно где жмем chip erase выскочит ошибка, быстро нажимаем ОК и еще раз chip erase, пока идет счет в контролере он определяется и стирается. а вообще для стирания и востановления фьюзов рекомендую спаять AVRDoctor.

reset:
ldi Temp1,RamEnd
out SPL,Temp1

rcall StartDelay ; задержка
rcall StartDelay
rcall StartDelay
........... и т.д.
Аватара пользователя
KibeR_ShuriK
Родился
Сообщения: 6
Зарегистрирован: Вт окт 04, 2011 16:21:06

Re: ATTiny2313 не прошивается повторно при использовании POR

Сообщение KibeR_ShuriK »

Flasher писал(а):поменять программатор

Были бы деньги... Да и что ему остается делать, когда на портах ввода/вывода постоянно высокий уровень напряжения.





Александр Гончаров писал(а):Тоже парился с тинькой, в итоге сделал 1 секундную задержку в самом начале кода... повесил на вывод ресет кнопку "ресет >земля". Далее делаю так нажимаю-отпускаю ресет и в течении секунды нажимаю "стереть" . стирать удобно в AVRPROG выставив AT90S2313. в CodeVision тоже можно стирать но очень долго. еще удобный способ без нажатия кнопки ресет в AVRPROG. запускаем AVRPROG выставляем AT90S2313 нажимаем Advanced, прога выдаст ошибку, жмем ОК появляется окно где жмем chip erase выскочит ошибка, быстро нажимаем ОК и еще раз chip erase, пока идет счет в контролере он определяется и стирается. а вообще для стирания и востановления фьюзов рекомендую спаять AVRDoctor.

reset:
ldi Temp1,RamEnd
out SPL,Temp1

rcall StartDelay ; задержка
rcall StartDelay
rcall StartDelay
........... и т.д.


Спасибо за совет! Как разберусь с текущим "залоченным" МК, обязательно попробую это на новом :).


//Вопрос всё еще актуален..
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: ATTiny2313 не прошивается повторно при использовании POR

Сообщение ploop »

Да и что ему остается делать, когда на портах ввода/вывода постоянно высокий уровень напряжения.

Работать.
Программатору пофигу, что на пинах, после прижатия ресета (вход в режим программирования) все пины становятся входами, за исключением MISO.
Ищите проблему в монтаже/скорости прошивки.
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»