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.
Ищите проблему в монтаже/скорости прошивки.
Реклама
Закрыто

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