Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
07.04.2010, 22:54
|
|
Частый гость
Регистрация: 21.03.2008
Сообщений: 43
Сказал спасибо: 25
Сказали Спасибо 1 раз в 1 сообщении
|
Помогите с AVRstudio
Не могу понять в чем проблема. Написал часть программы и теперь не могу
добавить ни одной строки-при ассемблировании ошибка " Relative branch out of reach". Я бы понял, если бы я пытался добавить команду перехода- типа brne или rjmp. Порылся в интернете-везде пишут, что такая ошибка возникает при переходе, если метка находится достаточно "далеко" от команды перехода. Но я не могу добавить вообще ничего! Я уже и разбил на две страницы-то же самое. Я в тупике, прошу помощи. Вот выкладываю всю папку с проектом в AVRstudio.
|
|
|
|
07.04.2010, 23:36
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: Помогите с AVRstudio
У Вас проблема как раз с инструкцией условного перехода. Конкретно с breq. Это короткий переход на +-64 слова. А до метки Zar получается больше. Вобщем вот:
Код:
|
scan2: in temp, PIND
andi temp,0b00001111
cpi temp,0b00000111 ; кнопка "выбор" нажата?
// - тут -› breq Zar ; переходим к секции "Заряд"
cpi temp,0b00001011 ; кнопка › нажата?
breq menu3 ; переходим к меню3
cpi temp,0b00001101 ; кнопка ‹ нажата?
breq menu1
;rcall delay15
rjmp scan2 |
Используйте для таких переходов следующую конструкцию:
Код:
|
scan2: in temp, PIND
andi temp,0b00001111
cpi temp,0b00000111 ; кнопка "выбор" нажата?
brne PC+2 ;
rjmp Zar ; переходим к секции "Заряд"
cpi temp,0b00001011 ; кнопка › нажата?
breq menu3 ; переходим к меню3
cpi temp,0b00001101 ; кнопка ‹ нажата?
breq menu1
;rcall delay15
rjmp scan2 |
Что Вы уже делаете выше по тексту.
|
|
|
|
07.04.2010, 23:37
|
|
Прохожий
Регистрация: 06.03.2010
Сообщений: 6
Сказал спасибо: 1
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: Помогите с AVRstudio
Запустил Ваш проект. При трансляции 4 ошибки. Переход от сканирования клавы
на метку Zar слишком далекий. И мнемоника команды adiw z,1 --› adiw zh:zl,1.
В остальном все нормально, все вводится и добавляется.
|
|
|
|
07.04.2010, 23:43
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: Помогите с AVRstudio
Сообщение от Capley
|
И мнемоника команды adiw z,1 --› adiw zh:zl,1.
|
У меня почему то только с breq zar трабл. Т.е. ошибка всего одна. Может у Вас старая версия ассемблера? Хотя попробовал переключить - у меня ошибок стало 10 штук
|
|
|
|
07.04.2010, 23:44
|
|
Временная регистрация
Регистрация: 05.09.2009
Сообщений: 50
Сказал спасибо: 9
Сказали Спасибо 26 раз(а) в 10 сообщении(ях)
|
Re: Помогите с AVRstudio
Ну сделай, например, так:
Код:
|
cpi temp,0b00000111 ; кнопка "выбор" нажата?
//breq Zar ; переходим к секции "Заряд"
brne llll
rjmp Zar
llll:
cpi temp,0b00001011 ; кнопка › нажата? |
Последний раз редактировалось Lexx09; 07.04.2010 в 23:45.
Причина: Блин, пока писал, уже ответили...
|
|
|
|
07.04.2010, 23:50
|
|
Почётный гражданин KAZUS.RU
Регистрация: 22.06.2004
Адрес: Харьков
Сообщений: 1,488
Сказал спасибо: 3,207
Сказали Спасибо 3,010 раз(а) в 686 сообщении(ях)
|
Re: Помогите с AVRstudio
Уже опередили.
Предупреждение о далеком прыжке. Не хватает места в адресном пространстве этой команды для далекого перехода.
|
|
|
|
07.04.2010, 23:55
|
|
Прохожий
Регистрация: 06.03.2010
Сообщений: 6
Сказал спасибо: 1
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: Помогите с AVRstudio
Версия Студии 4.12. Может и старовата уже. Сейчас потихоньку пересаживаюсь
на ARM-ы, так что голова другим занята.
|
|
|
|
08.04.2010, 08:12
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: Помогите с AVRstudio
jafarkiller, если пишете на АСМе - делайте это в www.algrom.net тем более что он уже бесплатный. И вы забудете о таких косяках как о страшном сне - ибо он сам все исправляет. Отладчик и ЮСБ-программатор имеется
|
|
|
|
08.04.2010, 11:16
|
|
Частый гость
Регистрация: 21.03.2008
Сообщений: 43
Сказал спасибо: 25
Сказали Спасибо 1 раз в 1 сообщении
|
Re: Помогите с AVRstudio
Всем спасибо за помощь! А вообще, как узнать, на какую конкретную строку в программе ругается ассемблер? На будущее.
|
|
|
|
08.04.2010, 21:42
|
|
Почётный гражданин KAZUS.RU
Регистрация: 22.06.2004
Адрес: Харьков
Сообщений: 1,488
Сказал спасибо: 3,207
Сказали Спасибо 3,010 раз(а) в 686 сообщении(ях)
|
Re: Помогите с AVRstudio
Двойной щелчок на сообщении перебрасывает на строку с ошибкой.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 06:26.
|
|