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

Добавлено: Сб май 30, 2009 16:16:18
Andrey3377
Недавно начал заниматься AVR-ами. Отладчик AVR Studio может отображать значения регистров в двоичной форме? Нашел только преключение с hex на dec.

Добавлено: Сб май 30, 2009 16:52:07
Yellow Tiger
Регистры, являющиеся коллекциями флагов, в студии именно в двоичной форме и отображаются - флагами, остальные, повидимому, только в десятичном или шестнадцатеричном виде.

Добавлено: Сб май 30, 2009 17:14:02
ibiza11
да, может.
start debugging(стрелочка как play)->View->Registers
открывается окно регистров общего назначения. правой кнопкой по значению и выбираешь Binary. все!)

Добавлено: Сб май 30, 2009 17:32:26
Yellow Tiger
Хэх, выходит - я плохо искал. :)))

Добавлено: Пн июн 01, 2009 09:54:42
Andrey3377
ibiza11, спасибо. А то я уж обыскался.

Добавлено: Пт июн 19, 2009 16:13:08
Андрейка
Подскажите начинающему
Что я делаю не так, если ассемблер пишет следующее:

Building project...
AVRASM: AVR macro assembler version 1.57 (Nov 15 2002 10:58:00)
Copyright (C) 1995-2002 ATMEL Corporation
Creating 'asd.eep'
Creating 'asd.hex'
Creating 'asd.obj'
Creating 'asd.map'
Assembling 'C:\Program Files\Atmel\AVR Tools\AvrStudio4\ledon2.asm'
Including 'C:\Program Files\Atmel\AVR Tools\AvrAssembler\Appnotes\2313def.inc'

Вот здесь:

C:\Program Files\Atmel\AVR
Tools\AvrAssembler\Appnotes\2313def.inc(38) : warning : Only one .device statement allowed (line ignored)

Program memory usage:
Code : 11 words
Constants (dw/db): 0 words
Unused : 0 words
Total : 11 words
Assembly complete with no errors.
Deleting 'asd.eep'

Добавлено: Пт июн 19, 2009 17:09:07
ibiza11
в коде ошибка скорее всего, выложите его) я смотрю он совсем небольшой))

Добавлено: Сб июн 20, 2009 23:21:37
Андрейка
Да программа небольшая

Добавлено: Вс июн 21, 2009 21:29:43
smac
Андрейка писал(а):Да программа небольшая
Ассемблер говорит, что девайс (тип микроконтороллера) можто указывать только один раз и игнорирует второе указание. Просто тип микроконтроллера скорее всего указан в 2313def.inc, поэтому строка

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

.device at90s2313
лишняя.

Добавлено: Вт июн 23, 2009 12:35:58
Андрейка
Спасибо за ответ
Маленький вопросик остался. Я изучаю AVR по книге. Там как и в моей программе идет
.device at90s2313
.nolist
.include "C:\Program Files\Atmel\AVR Tools\AvrAssembler\Appnotes\2313def.inc"
.list
Если строка .device at90s2313 лишняя, то для чего автор книги ее использует. Может когда он писал программу была другая версия AvrStudio4?

Добавлено: Вт июн 23, 2009 18:50:57
smac
Андрейка писал(а):...
Если строка .device at90s2313 лишняя, то для чего автор книги ее использует. Может когда он писал программу была другая версия AvrStudio4?
Автору, конечно, виднее :) Чтобы до конца разобраться, Вы посмотрите файл, который включаете, и увидите что тип контроллера там задан, поэтому еще раз задавать его не стоит. Ассемблер Вам собственно и сообщает, что тип контроллера задан и второе задание типа будет проигнорировано, однако в Вашем случае игнорируется тип из файла 2313def.inc. Я Вам рекомендую убрать строчку .device at90s2313, иначе в один прекрасный день, когда Вы захотите воспользоваться старым кодом на новом контроллере и забудете поменять .device at90s2313, на нужный тип контроллера, возможны сообщения ассемблера об ошибках и отказ от сборки кода.
Позволю себе еще одну рекоммендацию - при обучении до конца разбираться в том, что написано в копируемом вами исходнике, т. е. в Вашем случае что означают все директивы и команды.

Добавлено: Чт июн 25, 2009 07:01:13
Андрейка
Спасибо, вопросов пока не имею

Добавлено: Пт июн 26, 2009 16:11:05
0.50
Имеется кусок кода, смысл которого показан ниже

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

ldi   tmp0, 1
ldi   tmp1, 1
subi   tmp0, 2
sbci   tmp1, 0
после последней команды не выставляется нулевой флаг :o

Скажите пожалуйста, это так и должно быть или глюк Студии?

Добавлено: Пт июн 26, 2009 16:22:02
smac
0.50 писал(а):Имеется кусок кода, смысл которого показан ниже

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

ldi   tmp0, 1
ldi   tmp1, 1
subi   tmp0, 2
sbci   tmp1, 0
после последней команды не выставляется нулевой флаг :o

Скажите пожалуйста, это так и должно быть или глюк Студии?
А с какого пуркуа он должен выставляться?. Вы вычитаете из 0х0101 число 0x0002, откуда там 0?

Добавлено: Пт июн 26, 2009 17:11:04
0.50
Значит этот момент я как-то пропустил.. Спасибо.

не устанавливается AVR Studio

Добавлено: Вт июл 14, 2009 21:24:38
kofa07
Господа! у меня проблема с установкой AVR Studio 4
После начала установки вылетает ошибка
"RegDBCreateKey Ex failed"
Как быть?

Re: Проблемма с программированием ATmega169

Добавлено: Чт июл 16, 2009 12:54:55
Back-loz
Господа у меня вопрос к бывалым программисам на AVR ассемблере проблема следующего плана пытаюсь с помощью AVRstudio 4 разобраться как работать со сторожевым таймером(англ. Watchdog) пытаюсь считать значение регистра WDTCR в регистр общего назначения:
OUT WDTCR,r17
изменить содержимое регистра и снова записать в регистр WDTCR:
IN r17,WDTCR
предварительно естественно подключаю inc файл:
.include "m169def"
в котором константа WDTCR определена следующим образом:
.equ WDTCR = $60
AVRstudio постоянно выдает ошибку в командах IN и OUT:
Illegal argument type or count
экспериментируя с командами IN и OUT выяснил что ошибка возикает при превышении адресса WDTCR какогото значения.
использовал ассемблер версии 1.
подскажите пожалуйсто как решить данную проблему.

Добавлено: Чт июл 16, 2009 13:05:41
ARV
достаточно было не экспериментировать, а прочесть документацию на ядро AVR: все порты "накладываются" на адреса ОЗУ и доступны всегда для работы командами STS и LDS (и другими, естественно). но не все порты доступны для обращения через команды IN и OUT. читайте доки :)

Добавлено: Пт июл 24, 2009 22:48:45
sema
кто знает как отлаживать проект созданный в IAR в AVRStudio?
ну или ткните носом в ссылочку если это уже где описано (вроде где то видел, но когда приспичило никак не найду :( )

Добавлено: Сб июл 25, 2009 08:16:08
asteroid7
В линкере выходной формат other -> "ubrof 8(forced)"
В студио открыть получившийся файл *.dbg