AVR studio в вопросах и ответах

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
Dexa
Встал на лапы
Сообщения: 119
Зарегистрирован: Ср ноя 07, 2007 15:17:20
Контактная информация:

Сообщение Dexa »

Вот.
p.s. хотел пропустить задержку 4 секунды, но появилась ошибка AVR Simulator: Invalid opcode 0xffff at address 0x000200, что это может быть?
Да и вообще я так понял при команде run на точку останова программа сразу перейдет при определенном количестве операторов? Пропуская таким образом некоторые мелкие задержки приходилось run запускать несколько раз. Вообще можно бы закоментировать задержку, но не в моем случае, мне надо проверить как работает таймер. В реальном устройстве кое-что не срабатывает.
Вложения
prog4.asm
(11.11 КБ) 513 скачиваний
......aлкоголь расширяет сосуды, курение их сужает, а сдают почему-то нервы......
Аватара пользователя
Dexa
Встал на лапы
Сообщения: 119
Зарегистрирован: Ср ноя 07, 2007 15:17:20
Контактная информация:

Сообщение 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 тоже не понял как смотреть.
......aлкоголь расширяет сосуды, курение их сужает, а сдают почему-то нервы......
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

Сообщение Meteor »

Внимательнее надо со стеком работать. В пределах обработки число загрузок в стек должно быть равно числу выгрузок из него. Тогда гарантирован выход на правильную область программы. Читать программно, на мой взгляд - бестолку. В коде 2 команды pop, а где push'ы?
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Аватара пользователя
Dexa
Встал на лапы
Сообщения: 119
Зарегистрирован: Ср ноя 07, 2007 15:17:20
Контактная информация:

Сообщение Dexa »

Meteor вы не поняли/не прочитали мой пост. Все работает, это просто кусок кода, push'ы есть, просто описал свою ошибку найденную. Сейчас прошу помощи в обучении работе с studio - читайте предыдущий пост.
......aлкоголь расширяет сосуды, курение их сужает, а сдают почему-то нервы......
Аватара пользователя
Ardarik
Вымогатель припоя
Сообщения: 671
Зарегистрирован: Пн май 18, 2009 16:26:10
Откуда: Саранск
Контактная информация:

Сообщение Ardarik »

Почему у меня ошибку на первую строчку показывает .include "C:\avr\Appnotes\2313def.inc". Может че нить надо настраивать надо?
Хватит жить как получается- надо жить как хочется
Аватара пользователя
Ardarik
Вымогатель припоя
Сообщения: 671
Зарегистрирован: Пн май 18, 2009 16:26:10
Откуда: Саранск
Контактная информация:

Сообщение Ardarik »

Все нормально нашел ошибки :) Просто код с djvu формата копировал
Хватит жить как получается- надо жить как хочется
NASh1975
Родился
Сообщения: 1
Зарегистрирован: Вс янв 31, 2010 02:06:45
Откуда: Уфа

Сообщение NASh1975 »

На днях мой AVR STUDIO 4 начал непонятно глючить. При попытке открыть HEX-файл или просто нажать кнопку "открыть файл", выдается сообщение ERROR 196 , и программа либо закрывается, либо входит в полный ступор. Переустановки программы ничего не дали, вирусов нет. Кто нибудь сталкивался с такой проблемой?
Аватара пользователя
Thrasher
Родился
Сообщения: 15
Зарегистрирован: Пт дек 04, 2009 16:42:39
Откуда: Нижний Новгород

Сообщение Thrasher »

Здравствуйте! Имеется прога AVRStudio 4 как с помощью неё перевести код из asm в hex???
Заранее извиняюсь за глупый вопрос-но никак не могу разобраться :cry: :cry: :cry:
Аватара пользователя
ibiza11
Поставщик валерьянки для Кота
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Сообщение ibiza11 »

Thrasher писал(а):Здравствуйте! Имеется прога AVRStudio 4 как с помощью неё перевести код из asm в hex???
Заранее извиняюсь за глупый вопрос-но никак не могу разобраться :cry: :cry: :cry:
создаете проект для конкретного контроллера. добавляете в проект все файлы, которые написаны в исходнике (.asm) в проект. создаете файл с названием проекта, копируете туда свой файл (.asm). нажимаете F7. в папке с проектом появится файл .hex
Ставим плюсы: )
Аватара пользователя
Thrasher
Родился
Сообщения: 15
Зарегистрирован: Пт дек 04, 2009 16:42:39
Откуда: Нижний Новгород

Сообщение Thrasher »

Можно ещё пару разъяснений???
1. Проект создаётся при входе в окно программы ( нужно поставить тип микроконтроллера???)
2. Как следует добавлять в проект файлы исходника???
3. Как и где создать файл с названием проекта???
4. F7 когда нужно будет нажать???
Аватара пользователя
ibiza11
Поставщик валерьянки для Кота
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Сообщение ibiza11 »

Ставим плюсы: )
Аватара пользователя
Thrasher
Родился
Сообщения: 15
Зарегистрирован: Пт дек 04, 2009 16:42:39
Откуда: Нижний Новгород

Сообщение Thrasher »

Я делал, но при нажатии на F7 создаётся лишь bat-файл, а не hex вот я и зашёл в тупик :cry:
Аватара пользователя
Thrasher
Родился
Сообщения: 15
Зарегистрирован: Пт дек 04, 2009 16:42:39
Откуда: Нижний Новгород

Сообщение Thrasher »

Ураааааааа!!! Получилось!!! Файла не появлялось т.к была ошибка в исходном коде-в коде заголовка программы был неправильно указан путь к файлу :shock:
stas00n
Вымогатель припоя
Сообщения: 557
Зарегистрирован: Пн мар 23, 2009 04:03:45

Сообщение 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 в пиках), но что-то в доках не нашел этого...
Последний раз редактировалось stas00n Сб фев 27, 2010 13:50:44, всего редактировалось 1 раз.
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3868
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Сообщение Engineer_Keen »

stas00n писал(а):может, где-то надо глобально разрешить прерывания (вроде GIE в пиках), но что-то в доках не нашел этого...


Правильно. В AVR она выглядит так - SEI.
stas00n
Вымогатель припоя
Сообщения: 557
Зарегистрирован: Пн мар 23, 2009 04:03:45

Сообщение stas00n »

Engineer_Keen писал(а):
Правильно. В AVR она выглядит так - SEI.

Получилось, спасибо. А я искал регистр управления прерываниями :)
efim_hc
Родился
Сообщения: 10
Зарегистрирован: Сб фев 27, 2010 19:18:11
Откуда: Saint-P

Сообщение efim_hc »

Я извиняюсь конечно,но,скажите работает ли у кого авр студио четыре с вистой полноценно?
А можно водички попить,а то так есть хочется,что даже переночевать негде.....
Arlleex
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Сообщение Arlleex »

При попытке что либо открыть, программа выдает ошибку 196 и ступорит, или не закрывается больше. Приходится комп перезагружать.
Что делать? как от этого избавиться? мне надо просто через студию сегодня же зашить файл в МК avr isp mk2, а этот программатор поддерживает только одна программа - студия... помогите пожалуйста :?
Не умеешь - не берись, но не взявшись не научишься...
smac
Мучитель микросхем
Сообщения: 459
Зарегистрирован: Вс июн 01, 2008 12:16:38

Сообщение smac »

Stalker46 писал(а):При попытке что либо открыть, программа выдает ошибку 196 и ступорит, или не закрывается больше.

Русских букв в пути нет?
Arlleex
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Сообщение Arlleex »

нет. Переустановки программы проблему не решило!!!
А что еще работает с AVRISP mkII?
Не умеешь - не берись, но не взявшись не научишься...
Ответить

Вернуться в «AVR»