Страница 13 из 160

Добавлено: Вт дек 29, 2009 12:41:28
almir
Здравствуйте Все. Скачал файл по бегущему огню в обучалке (без индикатора и клавы, пока), вставил его в АВР Студию, заменил инклуд на Тини 2313, запустил буилд - ни ошибок ни предупреждений, а вот при дебаге программа автоматически останавливается на строке"rjmp Reset" - желтая стрелка и мигает курсор, я ее закоментил, так программа останавливается на следующем реджампе. Реджамп бесконечен, так говорится в инфо (ну так и бегал бы туда сюда, ан нет, останавливается). Как заставить багер не останавлисаться. Задал вопрос в разделе теория, меня отправили сюда и посоветовали разобраться с прерываниями, пытаюсь разобраться, но как то не очень. Допустим я поставлю прерывание где то в теле программы, дебагер дойдет до него и остановится. Так он и так останавливается. Так же как и я встал в этом месте и не туда и не сюда, как мне сдвинуться, но не с катушек а с этой кочки?. Да и можно ли прошивать МК, если такое происходит в дебагере?
Уж извините за тупость ну как то заклинило в этом месте.

Добавлено: Вт дек 29, 2009 20:34:52
DIHALT
Ну по идее так и должно быть :)))) Желтая стрелка это где программа в данный момент. Нажмешь F11 (ЕМНИП) - будет следующий шаг программы и так далее, пошаговая отладка. Нажмешь F5 будет выполнение кода, но при этом ты ничего не увидишь.

Добавлено: Вт дек 29, 2009 21:03:34
almir
Так пока и не врубился. Терзают меня смутные сомнения, что при замене AT90S2313 на ATtiny2313, надо не только поменять инклуд, но и многое другое. Попробую запустить дебагер с родным МК и посмотреть. Когда нажал Quickwatch выскочило окошко в котором написано rjmp а в графе value"Not in scope" И вопрос, добавить для слежения. В общем пока со Студией у меня как с фортепиано - скользко.

Добавлено: Вт дек 29, 2009 21:14:50
DIHALT
Не могу понять, у тебя не шагает по командам чтоль? А попробуй вначале программы поставить несколько NOP

между тини2313 и ат902313 разница минимальная. Помнится как то написал программу, по ошибке загнал инклюд на ат902313, зашил все в тини2313 работало как часы. Заметил что инклюд не тот когда уже спустя черти сколько времени решил оптимизировать код и начал его переписывать почти с нуля.

Добавлено: Вт дек 29, 2009 23:49:39
almir
Честно говоря, так и думал, поэтому переписал только инклуд, так же, думал взять кварц на 10МГц, собираясь сваять бегающие огоньки, а вот теперь засомневался. В инете нашел апноте о различиях между этими МК, но пока не изучил еще. Программа не шагает, вернее шагает но зацикливается на Инициализация l_res: между dec Temp1 и brne 1_res, дальше не идет. До инкремента счетчиков сброса не доходит. Хотя в окне процессора циклы считаются и время тоже, SREG флаги меняются. Если в автомате, то она прыгает там же. Ресет прграмму останавливает. Скорее всего я где-то не вник в обучалке или самой студии. Попробую запустить ее в WMLAB, посмотрю как там будет прыгать.
Подойдет ли кварц 10МГц для ATtiby 2313?
В начале программы вставил три NOP - выдала три ошибки, убрал один NOP- две ошибки, убрал все NOP - ни одной ошибки.

Добавлено: Ср дек 30, 2009 11:56:49
DIHALT
Гони проект целиком. Так я фиг пойму что у тебя там не так. Может код поставил до CSEG или CSEG не туда вписал.

Кварц на тини2313 будет работать нормально. (даже на 2313V хоть она и до 8мгц, но гонится неплохо. Главное чтобы напруга была 5 вольт). Разумеется при работе от кварца надо будет подправить фузы. Ну и не забыть сбросить бит CKDIV8 т.к. он тебе дает деление частоты на 8.

Добавлено: Сб янв 02, 2010 11:16:25
PeLazginec
Здраствуйте всем! У меня проблема с установкой AVRStudio 4.13. Когда юзаю на установку программы,то выходит окошко с ошибкой: AVRSudio 4.13 must be installed. Что за инсталлятор нужен,не подскажете?

Добавлено: Сб янв 02, 2010 12:38:45
PeLazginec
Ссылку не выложишь? Никак не могу найти

Добавлено: Сб янв 02, 2010 13:18:21
PeLazginec
DiGiCat писал(а):
PeLazginec писал(а):Скачал программу AVRStudio 4.13,юзаю клик на установку,а он выдает ошибку вида "avrstudio 4.13 must be installed",подскажите пожалуйста с чем это связано
Эт ругается, что сама AVR Studio еще не установлена. :) Похоже сейчас пытаешься вместо самой AVR Studio, пакет ее обновлений установить - не то ставишь сейчас, установить вместо AVR Studio, пытаешься ServicePack ( он около 40 весит, сама Studio около 100мб ). Скачивай и ставь сначала другой файл..
В названии написано AVRStudio4.13SP2 и весит эт все 46 мегабайт. Я думаю,путаю,как вы сказали. Ссылку на реальную студию.18 не подскажете?

Добавлено: Сб янв 02, 2010 13:41:58
devmind
PeLazginec писал(а):Ссылку на реальную студию.18 не подскажете?
http://www.atmel.com/dyn/Products/tools ... ol_id=2725

Выбираешь "AVR Studio 4.18 (build 684) (116 MB, updated 11/09)", заполняешь форму и качаешь. Потом можешь по той же ссылке скачать SP1 и накатать его поверх уже установленной AVR Studio.

Добавлено: Сб янв 02, 2010 15:42:45
DiGiCat
Abrikos писал(а):В архиве линки на новейшие программы ATMEL и AVR Studio - свежак :))
:) ХАроший архивчик, ссылки класные, особенно понравилось там:
Краткий курс - самоучитель
заказать почтой у известно кого
вам поможет Семонов Михаил
и цена его услуг
:)))
Тыч новый вид спама наладил - напрямую то спамить все перекрыли.. :)

Добавлено: Сб янв 02, 2010 16:19:11
PeLazginec
devmind писал(а):
PeLazginec писал(а):Ссылку на реальную студию.18 не подскажете?
http://www.atmel.com/dyn/Products/tools ... ol_id=2725

Выбираешь "AVR Studio 4.18 (build 684) (116 MB, updated 11/09)", заполняешь форму и качаешь. Потом можешь по той же ссылке скачать SP1 и накатать его поверх уже установленной AVR Studio.
Спасибо!!!!!

Добавлено: Вт янв 05, 2010 15:20:18
gogenzzo
Приветствую. Не знаю сюда или нет написать проблему, вот что у меня косячит. Есть программа мигающего светодиода, нажимаем кнопу - мигает, отпускаем - не мигает :) задержка производится не по таймеру, а в цикле:

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

wait:
		push loop1
		push loop2
		push loop3

		ldi loop1, 10
wt1:
		dec loop1
		breq wt4

		ldi loop2, 100
wt2:
		dec loop2
		breq wt1

		ldi loop3, 255
wt3:
		dec loop3
		brne wt3

		rjmp wt2

wt4:
		pop loop3
		pop loop2
		pop loop1
		ret
В отладчике все работает правильно. При 4Mhz одит такт происходит за 0,25 мкс. Всего задержка подпрограммы по идее должно быть - 255*100*10*3*0,25 = 191 мс. Но в отладчике пишет что проход цикла происходит за 171 мс. Но проблема не в этом :)

Запускаю Proteus ISIS. Строю схему. И в результате переключение диода происходит с частотой около 1,4 сек. Там выставил вроде как надо. Частота микроконтроллера 4Mhz.

Изображение

Изображение

PS: Я думаю, что такие задержки в программах не встречаются, все по таймеру, но все же хотелось бы разобраться, я и программу по формированию звука тоже в протеус загонял, по идее все должно играть ровно, но там очень уж медленно все было...

Добавлено: Вт янв 05, 2010 15:34:08
gogenzzo
Блин, ну надо же, стока расписал, а оказалось что был включен проклятый CKDIV8 :oops:

Добавлено: Вт янв 05, 2010 15:46:42
minime
А при чем ТУТ протеус ?

Добавлено: Ср янв 06, 2010 01:11:07
Андрейка
Привет, я - новичек, помогите разобраться с проблемой. Недавно установил AVR Studio4.16.628, написал учебную программу и при трансляции получил ошибку. Не понимаю, что он от меня хочет?

;Программа ledon

.device attiny2313
.nolist
.include "c:\Program Files\atmel\AVR tools\AVRAssembler\appnotes\tn2313def.inc"
.list
.def temp =r16

rjmp Init ;

Init:

ser temp ;
out DDRB,temp ;
out DDRD,temp ;

clr temp ;
out PortB,temp ;
out PortD,temp ;


Start:
sbi PortB,0 ;
rjmp Start ;


Build
c:\Program Files\atmel\AVR tools\AVRAssembler\appnotes\tn2313def.inc(122): error: Attempt to redefine keyword 'z'
E:\Attiny2313\Project\ledon\ledon.asm(12): info: 'c:\Program Files\atmel\AVR tools\AVRAssembler\appnotes\tn2313def.inc' included from here
c:\Program Files\atmel\AVR tools\AVRAssembler\appnotes\tn2313def.inc(382): error: Attempt to redefine keyword 'or'
E:\Attiny2313\Project\ledon\ledon.asm(12): info: 'c:\Program Files\atmel\AVR tools\AVRAssembler\appnotes\tn2313def.inc' included from here

Assembly failed, 2 errors, 0 warnings

Добавлено: Ср янв 06, 2010 01:22:10
minime
Он пишет что в файл tn2313def.inc происходит попытка передефйнить or и z - возможно в свойствах прожекта у вас другой МК указан ?

советую - цепляйте архив с прожектом к вопросу.

Добавлено: Ср янв 06, 2010 16:46:34
smac
Андрейка писал(а):... написал учебную программу и при трансляции получил ошибку. Не понимаю, что он от меня хочет?
строчку

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

.device attiny2313
удалить, дальше по обстоятельствам.

Добавлено: Ср янв 06, 2010 23:24:11
Андрейка
Спасибо за советы. Проблему решил. В папке установки AVR Studio4.16 имеем две версии ассемблера, как я понял старую версию AvrAssembler и новую AvrAssembler2. Сначала я написал так: .include "c:\Program Files\atmel\AVR tools\AVRAssembler\appnotes\tn2313def.inc" и получил ошибки при трансляции, а потом попробовал так: .include "c:\Program Files\atmel\AVR tools\AVRAssembler2\appnotes\tn2313def.inc" и все прошло без ошибок. Остался вопрос, зачем пихать старый AvrAssembler, если AVR Studio4.16 с ним не работает?

Добавлено: Ср янв 06, 2010 23:34:26
ARV
работает студия с обоими ассемблерами, просто вы попали на ошибку в документации Atmel. В первых документах для имен некоторых битов и для имени регистра использовались одни и те же обозначения (SP и Z), это было прописано в соответствующих inc-файлах, и естественно, ассемблер не мог понять, как это так - разные вещи с одинаковым именем. затем inc-подправили, да заодно и новый ассемблер добавили, который уже допускает переопределение имен...

вам надо было всего лишь найти в вашем inc-файле эти самые описания и заремарить их - и все! скомпилировалось бы и старым ассемблером.