Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс мар 27, 2011 15:56:47
Друг Кота
Карма: 25
Рейтинг сообщений: 99
Зарегистрирован: Вс янв 24, 2010 19:19:52 Сообщений: 4468 Откуда: Главный Улей России (Moscow)
Рейтинг сообщения:0
Она так будет ходить 255 раз. Отмечаем следующую строку после цикла задержки и жмём на Toggle Breakpoint. На против этой строки появится жирная красная точка. Потом запускаем программу клавишей F5. Программа быстро обработает задержку и остановится на отмеченной строке. Дальше можно продолжить отладку клавишей F11
_________________ I am DX168B and this is my favourite forum on internet!
Компания MEAN WELL пополнила ассортимент своей широкой линейки светодиодных драйверов новым семейством XLC для внутреннего освещения. Главное отличие – поддержка широкого спектра проводных и беспроводных технологий диммирования. Новинки представлены в MEANWELL.market моделями с мощностями 25 Вт, 40 Вт и 60 Вт. В линейке есть модели, работающие как в режиме стабилизации тока (СС), так и в режиме стабилизации напряжения (CV) значением 12, 24 и 48 В.
dec time brne Cycle ret ;**********************************************************
если в time будет значение 0, то крутиться будет достаточно долго. Все зависит от значения которое попало в него. судя по всему у тебя там 0. Для проверки добавь команду ldi time,1 перед cycle, и увидишь что выйдет из цикла. А так смотри алгоритм всей программы.
Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс мар 27, 2011 16:44:19
Друг Кота
Карма: 25
Рейтинг сообщений: 99
Зарегистрирован: Вс янв 24, 2010 19:19:52 Сообщений: 4468 Откуда: Главный Улей России (Moscow)
Рейтинг сообщения:0
Млин, ну как ещё объяснить? В AVR Studio есть несколько режимов отладки кода. 1. Вручную.(Ctrl+Shift+Alt+F5)...(F11...) - То есть запускаем отладку и делаем каждый шаг вручную клавишей F11. 2. Autostep - это когда сам симулятор выполняет шаги, но медленно, так, чтобы программист видел. Запускается при запущенной отладке сочетанием клавиш Alt+F5. 3. Запуск программы в реальном времени. То есть мы не видим, как она выполняется, но можем остановить её точками останова(Breakpoint). После остановки мы можем продолжить отладку вручную. Запускается этот режим при запущеной отладке клавишей F5. Что нам надо: Запускаем отладку, сочетанием клавиш Ctrl+Shift+Alt+F5 или так, как ты её запускаешь. Без разницы. Далее прыгаем по нашей программе вручную (F11) чтобы видеть, как выполняется программа. Как дойдём до задержки, то отметим следующую, после всего цикла задержки, строку. На эту строку ставим точку останова, клавишей F9.(Просто кликаем на начало этой строчки, установив на неё курсор редактора и нажимаем F9) Напротив строчки появится жирная красная точка. После этого запускаем симуляцию в реальном времени, клавишей F5. Симулятор отработает эту задержку и встанет на паузу на отмеченной строке, как только дойдёт до неё. Дальше можно продолжить вручную отрабатывать. Как дойдём до задержки, так снова запустим в реальном времени, чтобы быстро отработать эту задержку.
_________________ I am DX168B and this is my favourite forum on internet!
... DX168B каждое хорошее дело наказуемо ... если человек не находит времени, чтобы почитать пару страниц о работе с отладчиком, то "учить" его - занятие сомнительное ИМХО...
И всё же, как сделать так чтобы после проигрывания мелодии на ноге был 0? Просто изучать что либо сейчас некогда, нужно сделать дедушке звонок. А тут учеба ещё, ЕГЭ и прочее
Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс мар 27, 2011 16:54:56
Друг Кота
Карма: 25
Рейтинг сообщений: 99
Зарегистрирован: Вс янв 24, 2010 19:19:52 Сообщений: 4468 Откуда: Главный Улей России (Moscow)
Рейтинг сообщения:0
ChipKiller писал(а):
DX168B писал(а):
Млин, ну как ещё объяснить?
... DX168B каждое хорошее дело наказуемо ... если человек не находит времени, чтобы почитать пару страниц о работе с отладчиком, то "учить" его - занятие сомнительное ИМХО...
Бывает и такое.
ЗЫ: Я сам, без литературы разобрался со студией. Просто раньше имел дело со средами разработки программ. Да и сама студия до боли простая. Только однажды задал вопрос, как поменять частоту МК в отладчике, так как не мог нигде найти. ЮТ Добавь строчку в конце проигрывания:
Код:
cbi ПОРТ, НОМЕР НОГИ
Например:
Код:
cbi PORTB, 0 ;Установка лог. 0 на ноге PB0 cbi PORTB, 1 ;Установка лог. 0 на ноге PB1 cbi PORTB, 2 ;Установка лог. 0 на ноге PB2 cbi PORTB, 3 ;Установка лог. 0 на ноге PB3
_________________ I am DX168B and this is my favourite forum on internet!
Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс мар 27, 2011 20:45:41
Друг Кота
Карма: 25
Рейтинг сообщений: 99
Зарегистрирован: Вс янв 24, 2010 19:19:52 Сообщений: 4468 Откуда: Главный Улей России (Moscow)
Рейтинг сообщения:0
Решил побаловаться со стеком. Типа, возврат из подпрограммы совсем в другое выбранное место. Спецов прошу не бить меня, пример приведён для новичков. После выполнения подпрограммы PROG, мы возвращаемся уже не в LOOP, а опять в MAIN столько раз, сколько указано в регистре r17.
Код:
;---------- .cseg .org 0x0000 ;---------- ldi r16, RamEnd out SP, r16 ldi r17, 0x04 ;---------- MAIN: nop nop nop nop rcall PROG ;---------- LOOP: rjmp LOOP ;---------- PROG: dec r17 brne WH_END ret WH_END: pop r16 pop r16 ldi r16, Low(MAIN) push r16 ldi r16, High(MAIN) push r16 ret ;----------
_________________ I am DX168B and this is my favourite forum on internet!
Сейчас этот форум просматривают: an.ig.nik и гости: 33
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения