Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 18.01.2011, 20:10  
XRuZzz
Частый гость
 
Регистрация: 12.10.2010
Сообщений: 14
Сказал спасибо: 2
Сказали Спасибо 2 раз(а) в 1 сообщении
XRuZzz на пути к лучшему
По умолчанию [РЕШЕНО] Прерывания в LPC1114

Не могу понять почему при попадании в прерывание по захвату фронта или по фронту на выводе PIO1_0, проц повисает на исключениях.
Несмотря на то что JTAG у этой ноги мы выключили.
Значения некоторых регистров во время остановки дебагера:
GPIO1DIR=0;
GPIO1IBE=1;
GPIO1IC=0;
GPIO1IE=1;
GPIO1IEV=0;
GPIO1IS=0;
GPIO1MIS=1;
GPIO1RIS=9;

Недавно обнаружил что код с примером внешних прерываний от IARa адекватно работает, после изменения имени прерывания с PIOINT1_IRQHandler на PIO1_IRQHandler.


Отсюда пару вопросов:
Какие ошибки в коде?
И правильно ли выключен JTAG?

Уменьшил программу до минимума. в maine только вызов init_int_front()
Код:
void init_int_front(void)
{
	EVENT_InitTypeDef PIOconfig;
        LPC_IOCON-›JTAG_TMS_PIO1_0  &= ~0x07;
	LPC_IOCON-›JTAG_TMS_PIO1_0  |= 0x11;
	GPIO_PortIntCmd(PORT1,ENABLE);
	GPIO_SetDir(PORT1, GPIO_Pin_0, 0);
	PIOconfig.port=PORT1;
	PIOconfig.pins=GPIO_Pin_0;
	PIOconfig.EVENT_Mode=EVENT_BOTH_EDGE;//EVENT_RISING_EDGE;
	PIOconfig.INTCmd=ENABLE;
	GPIO_EventInit(&PIOconfig);
}

void PIOINT1_IRQHandler(void)
{
        unsigned long regVal;
	  
	  regVal = GPIO_GetIntStatus( PORT1);
	  if ( regVal )
	  {
		  GPIO_ClearInt(PORT1,GPIO_Pin_0);
	  }
	GPIO_ResetBits(PORT3, LED_RED);
}
Миниатюры:
Нажмите на изображение для увеличения
Название: debug.JPG
Просмотров: 57
Размер:	268.6 Кб
ID:	17018   Нажмите на изображение для увеличения
Название: NVIC.JPG
Просмотров: 39
Размер:	96.0 Кб
ID:	17068  
Реклама:

Последний раз редактировалось XRuZzz; 21.01.2011 в 16:18.
XRuZzz вне форума  
Непрочитано 21.01.2011, 14:18  
XRuZzz
Частый гость
 
Регистрация: 12.10.2010
Сообщений: 14
Сказал спасибо: 2
Сказали Спасибо 2 раз(а) в 1 сообщении
XRuZzz на пути к лучшему
По умолчанию Re: Прерывания в LPC1114

Проблема решена подключением startupа из примера IARa. Ошибка возникала когда IAR не мог найти обработчик прерывания. Но вот до сих пор не помогу понять как IAR определяет из файлов проекта startup файл.

Последний раз редактировалось XRuZzz; 21.01.2011 в 14:35.
XRuZzz вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прерывания PIC milssky Микроконтроллеры, АЦП, память и т.д 12 10.10.2010 13:31
Как изменить адрес подпрограммы обработки прерывания? Godzilla82 Микроконтроллеры, АЦП, память и т.д 21 23.08.2010 09:52
Прерывания в прерываниях ATmega8 7Fantomas7 Микроконтроллеры, АЦП, память и т.д 35 07.07.2010 10:12
Вложенные прерывания HITECH PIC16 picavr Микроконтроллеры, АЦП, память и т.д 17 07.03.2010 17:39
Вход в прерывания для PIC микроконтроллеров dimmich Микроконтроллеры, АЦП, память и т.д 4 06.12.2009 17:17


Часовой пояс GMT +4, время: 05:10.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot