Прерывания в макросе

Обсуждаем контроллеры компании Atmel.
Ответить
sashavir
Первый раз сказал Мяу!
Сообщения: 22
Зарегистрирован: Вт дек 30, 2014 21:35:51

Прерывания в макросе

Сообщение sashavir »

Дорогие форумчане! Подскажите пожалуйста, возможно ли как-то использовать метку на прерывание в макросе, т.е. конструкцию вида:

.macro test

metka:

.endmacro

.cseg

RJMP metka

test

Сейчас, при такой конструкции у меня компилятор AVR stydio 4.19 ругается (83): error: Undefined symbol: metka, если увожу метку в тело cseg, то соответственно все нормально, очень хочется сделать единым блоком подпрограмму с использованием прерывания... И еще вопрос, очень неудобно в отладчике работать с макросами, отладчик не переходит к выполнению макроса визуально, т.е. что-то делает, что указанно в макросе, но пошаговый процесс работы макроса не показывает, что конечно логично, если последний находится допустим в отдельном файле... Может есть какие-нибудь фишки, чтобы отследить работу отладчика в макросе?
Последний раз редактировалось sashavir Чт апр 02, 2015 09:59:04, всего редактировалось 1 раз.
Реклама
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18546
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Прерывания в макросе

Сообщение ARV »

a студийном отладчике никаких таких фишек нет.
что вы затеяли с метками и макросами, я не до конца понял, из вашего объяснения не понятно, нафига это нужно, и чем не устраивает традиционный подход с обработчиками прерываний.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Реклама
sashavir
Первый раз сказал Мяу!
Сообщения: 22
Зарегистрирован: Вт дек 30, 2014 21:35:51

Re: Прерывания в макросе

Сообщение sashavir »

Да просто пока щупаю возможности языка, решил попробовать сделать подпрограмму задержки по прерыванию таймера и оформить её в виде макроса (за одно и работу макроса изучить), но наткнулся сразу на две особенности работы с макросами, вот и решил спросить, может делаю что-то не так...
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18546
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Прерывания в макросе

Сообщение ARV »

совмещение макросов и меток - плохая затея. макрос - это просто автозамена текста. что будет, если ваш макрос содержит метку и вы дважды или более используете этот макрос в программе? будет две или более одинаковых метки - компилятор не пропустит, это ошибка. для создания уникальных меток в макросах Атмел предлагает использовать какие-то костыли с цифрами и символом @ - я уже и не помню, как именно - уродское убогое решение...

не пользуйтесь костылями, если у вас не сломаны ноги :)))
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Прерывания в макросе

Сообщение pyzhman »

Вы путаете макрос и функцию. Делайте по-человечьи, либо то, либо другое. Самим проще будет потом разбираться в собственной прграмме.
Docendo discimus
Реклама
sashavir
Первый раз сказал Мяу!
Сообщения: 22
Зарегистрирован: Вт дек 30, 2014 21:35:51

Re: Прерывания в макросе

Сообщение sashavir »

ARV Спасибо, что наставили на путь истинный :) Буду дальше колупаться...
pyzhman Да это я так, просто смотрю, как лучше делать, тем более, что я еще не знаю, как делать по-человечески :)) , все приходит с опытом!
PS Ох и нелегок Ваш хлеб - программисты!
Реклама
Ответить

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