Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: IAR от новичка
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > MSP430
proga
При изучении программы IAR у меня возникла такая проблема. Я создал простенький проект,

предусматривающий в своём составе одно прерывание. В режиме Simulator я решил произвести отладку

программы обработки данного прерывания. Для этого я произвёл следующие действия:
1.Задал команду трансляции кода Go
2.В окне Forced interrupt выделил соответствующий вектор прерывания.
3Для немедленной генерации прерывания нажал кнопку Trigger.
Сначала всё шло как надо: в окне Interrupt Log window вывелось сообщение, что
прерывание произошло( Status: Executed). Однако впоследствие я заметил, что программа обработки прерывания

не выполнило непосредственной своей функции
( в данном проекте - это запись 8-разрядного данного в буфер передачи). Таким образом у меня возникли два

вопроса:
1. Какую ошибку я допустил при отладке этого прерывания.
2. Допускает ли программа IAR пошаговую отладку программы обработки прерывания, также как и главной части

программы. Проект прилагаю:
rezident
Пошагово прерывания отлаживать конечно же можно. Для того чтобы убедиться в том, что прерывание обрабатывается, установите breakpoint на начало процедуры обработки прерывания.
А главная ошибка в программе ИМХО в том, что не инициализирован указатель стека.
P.S. сбрасывать флаг прерывания от USART_TX в самой процедуре обработки прерывания нет необходимости. Он сбрасывается автоматически при переходе по этому вектору или при записи в UxTXBUF. Читайте внимательно User's Guide.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.