

lexa12
Свой-
Posts
187 -
Joined
-
Last visited
Reputation
0 ОбычныйAbout lexa12
-
Rank
Частый гость
- Birthday 07/19/1984
Контакты
-
Сайт
Array
-
ICQ
Array
Информация
-
Город
Array
Recent Profile Visitors
1,788 profile views
-
Вы не поняли вопрос. Специально для Вас повторяю развернуто "как правильно написать обработчик прерывания на ассемблере с передачей параметров (переменной) в основную программу в IAR? " И на этот вопрос уже есть ответ (не Ваш, боюсь не поймете - используя директиву EXTERN). А Вы начинаете разводить какую то теорию. Если не знаете ответа, зачем отвечать? Насчет переферии, очевидно тот же АЦП для программиста это тот же самый регистр(или регистры), тем более в контексте обсуждаемой темы. Зачем Вы разделяете эти понятия известно только Вам :)
-
Как написано в руководстве по компилятору есть т.н. "Scratch registers" и "Preserved registers". А требуется как раз доступ к "Scratch register" недоступный __regvar. В этом то сейчас и вопрос как его залочить :)
-
Обработчик простейший - пара команд. Если убрать сохранение в стек при вызове, получится то что надо. Писать на Си с оптимизацией наверно будет тоже самое. Я думаю может как-нибудь проинициализировать переменную в основной программе как "regvar", но настораживает, что нельзя залочить регистр в компиляторе.
-
Если обработчик написан на асме, зачем включать оптимизацию и что она даст? Вы используете странные понятия. Что в Вашем понимании "команды привязки адресов" ? Звучит как абракадабра. Если это какие то директивы или настройки компилятора, так и пишите. Мне вот это очень понравилось, для Вас переферия МК и "регистры" разные понятия :)
-
каким образом, чтобы компилятор ее не использовал для своих целей? в этом собственно и вопрос, а то как Вы ответили - взять любой адрес со всеми вытекающими... например у меня в обработчике используется R16, можно ли его залочить и уже не сохранять в стеке при вызове обработчика для экономии времени?
-
Всем спасибо за ответы, все таки разобрался :) Просто я вспомнил, что модули подпрограмм на ассемблере и Си отдельно компилятся и потом объединяются линковщиком в один модуль, как в асме для PC. Технология передачи данных между подпрограммами, либо через стек или специальные регистры AX или DX:AX Стек и регистры понятно откуда известны, но откуда компилятор узнает адрес ОЗУ в другом модуле например? Не совсем очевидно, если вспомнить, что модули отдельно компилируются.
-
Какие то странные способы Вы предлагаете. В ассемблере IBM PC например передача параметров может быть осуществлена либо через специальные регистры или через стек. Вроде в IAR можно использовать R16 для передачи однобайтовой переменной.
-
Меня интересуют AVR. Но правила компилятора наверно одинаковые для разных контроллеров.
-
Добрый вечер! Помогите пожалуйста разобраться со следующим вопросом - как правильно написать обработчик прерывания на ассемблере с передачей параметров (переменной) в основную программу?
-
Ремонт БП
lexa12 replied to lexa12's topic in Пайка и монтаж
Ко мне он попал не работающий. Все может быть. -
Ремонт БП
lexa12 posted a topic in Пайка и монтаж
Добрый вечер. Хочу отремонтировать БП фирмы Mastech HY3002. У него не работает индикация напряжения и тока, все стальное работает. Посмотрел схемы в гугле, но на них почему то нет индикаторов. Подскажите пожалуйста схему с индикаторами или возможные причины неисправности (есть подозрение что неправильно подключены разъемы) -
Вопрос по оформлению схем по ЕСКД
lexa12 replied to lexa12's topic in Документация
Если сделать как Вы предлагаете схема из А3 сразу станет А0 :) -
Подскажите пожалуйста возможно ли моделировать DC-DC преобразователи в MULTISIM? Например на основе микросхемы UC3844? Посмотрел на сайте TI вроде бы нет моделей для этой микросхемы.
-
Подскажите пожалуйста программу позволяющую проводить тепловые расчеты. Например у меня есть 3D-модель платы и хотелось бы посмотреть как она нагревается в процессе работы и пути распространения тепла по плате.
-
Вопрос по оформлению схем по ЕСКД
lexa12 replied to lexa12's topic in Документация
Как правильно начертить повторяющуюся группу, если в некоторых ФГ отличается пара конденсаторов. Соответственно как правильно присвоить обозначения ФГ и указать их в перечне?