реклама на сайте
подробности

 
 
> Прерывание EINT0, Keil, LPC2388, помогите разобраться с начальным кодом
yakub_EZ
сообщение Nov 18 2010, 10:54
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 329
Регистрация: 6-12-08
Из: Москва
Пользователь №: 42 252



Процессор - LPC2388, но среда Keil мюВижн4
Отрабатываю прерывания. В книге Марина написано, что надо менять строчку в стартап коде у метки необходимого прерывания, приложенных к книге примерах вектор оставлен в неизменном виде. У меня этот пример не компилируется
После компиляции своего кода и запуска в режиме отладки программа успешно проходит инициализацию и как положенно, вылетает в пустой цикл. Далее, в режиме debug, открываю вкладку переферии на Vectored Interrupt Controller, на 14 строчке в EINT0 ставлю галочку в квадратик SoftInt, после чего программа переходт на строку
Код
FIQ_Handler     B       FIQ_Handler
, где останавливается в пустом цикле.
текст программы:
Код
#include <LPC23xx.H>                       /* LPC23xx definitions */


int main (void)
{


  IODIR1 = 0x00FF0000;                     /* P1.16..23 defined as Outputs */
  PINSEL4 = 0x00100000;                      /*   enable EINT0     */

  VICIntSelect =  0x00004000;              /*   enable EINT0     */
  VICIntEnable =  0x00004000;              /*   enable EINT0     */

  IOCLR1 =      0x00FF0000;

  while (1)
   {                             /* Loop forever */
          
  
  }
}

  void FIQ_Handler (void)
{
    IOSET1 =   0x00FF0000;
    EXTINT =   0x00000002;
}


Пробовал добавлять в стартрап в строку метки FIQ_Handler окончание ?A, напротив void FIQ_Handler (void) добавлял __fiq.Не помогает.
Где ошибка, подскажите ?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 5th July 2025 - 22:10
Рейтинг@Mail.ru


Страница сгенерированна за 0.01373 секунд с 7
ELECTRONIX ©2004-2016