ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
20 мая
41134
Алехин Александр (10.10.2005 14:37, просмотров: 746)
Проблема с ожиданием прерываний.... Есть такой фрагмент программы (IAR C): Start_Timer(100); // Пауза 100 мсек. while(is_Timer_Running()) __low_power_mode(3); Если этот фрагмент находится внутри main - все четко работает. Стоит только его перенести в процедуру, вызываемую из main, как программа рушится (переход на адрес 0xffff)?????? Как это понимать? Прошел по шагам в симуляторе - все четко, ничего не портиться, но вместо попадания в обработчик прерывания от таймера (в котором я просто выставляю флаг "Таймер отработал" и сбрасываю биты low_power при выходе) в симуляторе выскакивает окно "неверное выполнение" (или "неверная последовательность команд") и хотя PC нормальный (указывает на следующую команду), я попадаю на адрес 0xffff. Аналогично при эмуляции через FET Debugger, только никаких сообщений не выскакивает, а просто оказываюсь черти где (при том, что PC правильный). Где глюк?