Страница 15 из 160
Добавлено: Чт янв 21, 2010 21:29:29
Dexa
Вот.
p.s. хотел пропустить задержку 4 секунды, но появилась ошибка AVR Simulator: Invalid opcode 0xffff at address 0x000200, что это может быть?
Да и вообще я так понял при команде run на точку останова программа сразу перейдет при определенном количестве операторов? Пропуская таким образом некоторые мелкие задержки приходилось run запускать несколько раз. Вообще можно бы закоментировать задержку, но не в моем случае, мне надо проверить как работает таймер. В реальном устройстве кое-что не срабатывает.
Добавлено: Сб янв 23, 2010 14:48:21
Dexa
Вопрос снят, ошибка была наиглупейшая. Хотя не совсем снят. Ошибка была в том, что иногда надо было выходить из обработчика прерываний по метке. Сейчас код такой:
Код: Выделить всё
m7: rcall clear;
rjmp konec1
............
............
...........
konec1: pop temp3
out SREG,temp3
pop temp3
reti
А раньше метка Konec1 была на против команды reti, т.е. восстановление sreg прописал, а использовать забыл

Но после выхода из обработчика флаг z тоже установлен, а не должен быть. Почему?
Но с программой так и не научился работать. В studio в окне programm counter стоит число (1С) - адрес следующей команды в основной программе. А в stack pointer вершина стека (или то что там сейчас лежит сверху?) - число DF. Перейдя в обработчик прерывания в содержимое PC естественно меняется, а содержимое SP равно DD...хм, значит так можно проследить стековую память, на сколько она заполена и по какому адресу будет хранится следующий байт в стеке, но не его содержимое. А мне надо найти в стеке именно 1С, т.е. адрес куда надо вернуться.
При помощи меню View тоже не понял как смотреть.
Добавлено: Сб янв 23, 2010 22:51:18
Meteor
Внимательнее надо со стеком работать. В пределах обработки число загрузок в стек должно быть равно числу выгрузок из него. Тогда гарантирован выход на правильную область программы. Читать программно, на мой взгляд - бестолку. В коде 2 команды pop, а где push'ы?
Добавлено: Сб янв 23, 2010 23:59:59
Dexa
Meteor вы не поняли/не прочитали мой пост. Все работает, это просто кусок кода, push'ы есть, просто описал свою ошибку найденную. Сейчас прошу помощи в обучении работе с studio - читайте предыдущий пост.
Добавлено: Чт янв 28, 2010 17:51:22
Ardarik
Почему у меня ошибку на первую строчку показывает .include "C:\avr\Appnotes\2313def.inc". Может че нить надо настраивать надо?
Добавлено: Чт янв 28, 2010 20:12:10
Ardarik
Все нормально нашел ошибки

Просто код с djvu формата копировал
Добавлено: Вс янв 31, 2010 02:15:22
NASh1975
На днях мой AVR STUDIO 4 начал непонятно глючить. При попытке открыть HEX-файл или просто нажать кнопку "открыть файл", выдается сообщение ERROR 196 , и программа либо закрывается, либо входит в полный ступор. Переустановки программы ничего не дали, вирусов нет. Кто нибудь сталкивался с такой проблемой?
Добавлено: Пн фев 01, 2010 13:05:16
Thrasher
Здравствуйте! Имеется прога AVRStudio 4 как с помощью неё перевести код из asm в hex???
Заранее извиняюсь за глупый вопрос-но никак не могу разобраться

Добавлено: Пн фев 01, 2010 14:22:36
ibiza11
Thrasher писал(а):Здравствуйте! Имеется прога AVRStudio 4 как с помощью неё перевести код из asm в hex???
Заранее извиняюсь за глупый вопрос-но никак не могу разобраться

создаете проект для конкретного контроллера. добавляете в проект все файлы, которые написаны в исходнике (.asm) в проект. создаете файл с названием проекта, копируете туда свой файл (.asm). нажимаете F7. в папке с проектом появится файл .hex
Добавлено: Пн фев 01, 2010 14:50:14
Thrasher
Можно ещё пару разъяснений???
1. Проект создаётся при входе в окно программы ( нужно поставить тип микроконтроллера???)
2. Как следует добавлять в проект файлы исходника???
3. Как и где создать файл с названием проекта???
4. F7 когда нужно будет нажать???
Добавлено: Пн фев 01, 2010 17:00:13
ibiza11
Добавлено: Пн фев 01, 2010 17:12:46
Thrasher
Я делал, но при нажатии на F7 создаётся лишь bat-файл, а не hex вот я и зашёл в тупик

Добавлено: Пн фев 01, 2010 18:11:46
Thrasher
Ураааааааа!!! Получилось!!! Файла не появлялось т.к была ошибка в исходном коде-в коде заголовка программы был неправильно указан путь к файлу

Добавлено: Сб фев 27, 2010 13:16:00
stas00n
начал осваивать атмеловские контроллеры и авр студию, раньше писал для пиков в мплабе, так вот что-то не могу понять, чего не хватает - в симуляторе не срабатывает прерывание по переполнению таймера 0, хотя флаг переполнения загорается. подскажите, что не так?
Код: Выделить всё
.include "m48def.inc"
.org 0
rjmp _start
.org 0x10
rjmp _T0OF_int
_start:
LDi r16,$2
out TCCR0B,r16 ;çàïóñê òàéìåðà, f= clk/8
ldi r16,$1
sts TIMSK0,r16 ;ðàçðåøèòü ïðåðûâàíèå ïî ïåðåïîëíåíèþ
_mainloop:
rjmp _mainloop
_T0OF_int:
nop
reti
может, где-то надо глобально разрешить прерывания (вроде GIE в пиках), но что-то в доках не нашел этого...
Добавлено: Сб фев 27, 2010 13:23:07
Engineer_Keen
stas00n писал(а):
может, где-то надо глобально разрешить прерывания (вроде GIE в пиках), но что-то в доках не нашел этого...
Правильно. В AVR она выглядит так - SEI.
Добавлено: Сб фев 27, 2010 13:44:03
stas00n
Engineer_Keen писал(а):
Правильно. В AVR она выглядит так - SEI.
Получилось, спасибо. А я искал регистр управления прерываниями

Добавлено: Сб фев 27, 2010 21:16:34
efim_hc
Я извиняюсь конечно,но,скажите работает ли у кого авр студио четыре с вистой полноценно?
Добавлено: Вс мар 07, 2010 22:08:25
Arlleex
При попытке что либо открыть, программа выдает ошибку 196 и ступорит, или не закрывается больше. Приходится комп перезагружать.
Что делать? как от этого избавиться? мне надо просто через студию сегодня же зашить файл в МК avr isp mk2, а этот программатор поддерживает только одна программа - студия... помогите пожалуйста

Добавлено: Вс мар 07, 2010 22:42:37
smac
Stalker46 писал(а):При попытке что либо открыть, программа выдает ошибку 196 и ступорит, или не закрывается больше.
Русских букв в пути нет?
Добавлено: Вс мар 07, 2010 22:53:56
Arlleex
нет. Переустановки программы проблему не решило!!!
А что еще работает с AVRISP mkII?