Файлы  •  Ссылки  •  Прошивки  •  Правила  •  Архив  •   FAQ  •  Участники  •  Поиск
Регистрация  •  Вход

Атмега32, выход из прерывания.

Список форумов » Разработка цифровых устройств
АвторСообщение
LDZ
Участник
Сообщения: 939




27-05-2017 10:46

мега32, прерывание INT0...
в прерывании обрабатываю посылки ик пульта...
необходимо из прерывания вернуться не на место, в котором началось прерывание, а на точку обработки команды ик пульта...
например, нахожусь в меню 1, возникло прерывание, - необходимо перейти в меню 2...
нахожусь в меню 2, возникло прерывание, - необходимо перейти в меню 3... и так далее...

пока ничего умнее не придумал, как писать код команды пульта в еепром, возвращаться командой asm("reti") в начало программы и проверять еепром...

в сети видел совет с правкой стека... кто то ругает такой подход, кто то нет... сам это делать не умею, поэтому не могу даже попробовать...

кто что может посоветовать по данному поводу...
может кто уже делал подобное...
или почитать чего подскажет...
Konstantin_18
Участник
Сообщения: 3413




27-05-2017 12:39

LDZ, Бред какой то.
Из прерывания выходят по команде reti.
Можешь конечно по goto (jmp) ходить на любые меню, но когда то же должна быть reti, хотя бы для того чтобы разрешить последующие прерывания.

А вообще не морочь голову. В прерывании ложи свой код команды ик пульта в переменную и по выходу из прерывания ходи по своим меню в зависимости от ее ( переменной ) значения.

ПС. Не нужно натягивать ежа на глобус. Делай просто и понятно.
LDZ
Участник
Сообщения: 939




27-05-2017 13:40

Konstantin_18, может плоховато объяснил...или сам чего недопонимаю..
дисплей однострочный, много на него не выведешь, поэтому надо много прыгать...
допустим в меню 1 бегушая строка...
нажимаю кнопку пульта... в прерывании обработал команду, в переменную подставил код... вышел в бегущую строку?
это ты советуешь? не так же менюшки в девайсах устроены...

нажал кнопку, попал в какое то меню, в этом меню выбрал какой то параметр, попал в следующее меню...
секунд 5 кнопок не жал, - вернулся в бегущую строку...
так что, все это в прерывании корячить?

стоп... кажется дошло... это я перемудрил нехило...
все ж намного проще... улыбка
счас займусь... Мир, Дружба, Жвачка

зы... я еще не знаю кодов пульта, поэтому я вывожу их в прерывании на дисплей... и именно из этого места я не хотел возвращаться в меню 1...
на самом деле этого же не будет, а будет так, как ты и сказал...
спасибо за пинок... улыбка зарапортовался... улыбка
Список форумов » Разработка цифровых устройств » Атмега32, выход из прерывания.
Перейти:  
Текущий раздел » Разработка цифровых устройств (FPGA, CPLD, PLD, ARM, AVR и т.д.)


Похожая информация:
  • Выход из строя НОТ при переходе в дежурный режим.







  • Электроника
    Прошивки и схемы на телевизоры, мониторы, dvd, телефоны. Schematic, Service Manual (mode), eeprom dumps Информация по ремонту для специалистов - справочники, инструкции, энциклопедия, советы и секреты ремонта,  настройка, сервисные режимы поиск и продажа электронных компонентов, магазины, datasheet, pdf, размещение в интернете рекламы на сайтах электронной тематики
    Powered by phpBB 2.0.18 © 2001, 2002 phpBB Group!