Jump to content
    

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
  1. Вы не поняли вопрос. Специально для Вас повторяю развернуто "как правильно написать обработчик прерывания на ассемблере с передачей параметров (переменной) в основную программу в IAR? " И на этот вопрос уже есть ответ (не Ваш, боюсь не поймете - используя директиву EXTERN). А Вы начинаете разводить какую то теорию. Если не знаете ответа, зачем отвечать? Насчет переферии, очевидно тот же АЦП для программиста это тот же самый регистр(или регистры), тем более в контексте обсуждаемой темы. Зачем Вы разделяете эти понятия известно только Вам :)
  2. Как написано в руководстве по компилятору есть т.н. "Scratch registers" и "Preserved registers". А требуется как раз доступ к "Scratch register" недоступный __regvar. В этом то сейчас и вопрос как его залочить :)
  3. Обработчик простейший - пара команд. Если убрать сохранение в стек при вызове, получится то что надо. Писать на Си с оптимизацией наверно будет тоже самое. Я думаю может как-нибудь проинициализировать переменную в основной программе как "regvar", но настораживает, что нельзя залочить регистр в компиляторе.
  4. Если обработчик написан на асме, зачем включать оптимизацию и что она даст? Вы используете странные понятия. Что в Вашем понимании "команды привязки адресов" ? Звучит как абракадабра. Если это какие то директивы или настройки компилятора, так и пишите. Мне вот это очень понравилось, для Вас переферия МК и "регистры" разные понятия :)
  5. каким образом, чтобы компилятор ее не использовал для своих целей? в этом собственно и вопрос, а то как Вы ответили - взять любой адрес со всеми вытекающими... например у меня в обработчике используется R16, можно ли его залочить и уже не сохранять в стеке при вызове обработчика для экономии времени?
  6. Всем спасибо за ответы, все таки разобрался :) Просто я вспомнил, что модули подпрограмм на ассемблере и Си отдельно компилятся и потом объединяются линковщиком в один модуль, как в асме для PC. Технология передачи данных между подпрограммами, либо через стек или специальные регистры AX или DX:AX Стек и регистры понятно откуда известны, но откуда компилятор узнает адрес ОЗУ в другом модуле например? Не совсем очевидно, если вспомнить, что модули отдельно компилируются.
  7. Какие то странные способы Вы предлагаете. В ассемблере IBM PC например передача параметров может быть осуществлена либо через специальные регистры или через стек. Вроде в IAR можно использовать R16 для передачи однобайтовой переменной.
  8. Меня интересуют AVR. Но правила компилятора наверно одинаковые для разных контроллеров.
  9. Добрый вечер! Помогите пожалуйста разобраться со следующим вопросом - как правильно написать обработчик прерывания на ассемблере с передачей параметров (переменной) в основную программу?
  10. Ко мне он попал не работающий. Все может быть.
  11. Добрый вечер. Хочу отремонтировать БП фирмы Mastech HY3002. У него не работает индикация напряжения и тока, все стальное работает. Посмотрел схемы в гугле, но на них почему то нет индикаторов. Подскажите пожалуйста схему с индикаторами или возможные причины неисправности (есть подозрение что неправильно подключены разъемы)
  12. Если сделать как Вы предлагаете схема из А3 сразу станет А0 :)
  13. Подскажите пожалуйста возможно ли моделировать DC-DC преобразователи в MULTISIM? Например на основе микросхемы UC3844? Посмотрел на сайте TI вроде бы нет моделей для этой микросхемы.
  14. Подскажите пожалуйста программу позволяющую проводить тепловые расчеты. Например у меня есть 3D-модель платы и хотелось бы посмотреть как она нагревается в процессе работы и пути распространения тепла по плате.
  15. Как правильно начертить повторяющуюся группу, если в некоторых ФГ отличается пара конденсаторов. Соответственно как правильно присвоить обозначения ФГ и указать их в перечне?
×
×
  • Create New...