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

 
 
 
Reply to this topicStart new topic
> ExtInt LPC1769
rasher
сообщение Apr 9 2013, 02:06
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 31
Регистрация: 4-03-13
Пользователь №: 75 877



Доброго времени суток, уважаемые форумчане!

Засел я сегодня на ночь с одной проблемой - прерывание от кнопки =(

Код
    
EXTI_InitTypeDef EXTICfg;
PINSEL_CFG_Type PinCfg;
PinCfg.Funcnum = PINSEL_FUNC_0;
PinCfg.OpenDrain = PINSEL_PINMODE_NORMAL;
PinCfg.Pinmode = 0;
PinCfg.Pinnum = 10;
PinCfg.Portnum = 2;
PINSEL_ConfigPin(&PinCfg);
EXTI_Init();
EXTICfg.EXTI_Line = EXTI_EINT0;
EXTICfg.EXTI_Mode = EXTI_MODE_EDGE_SENSITIVE;
EXTICfg.EXTI_polarity = EXTI_POLARITY_LOW_ACTIVE_OR_FALLING_EDGE;
EXTI_Config(&EXTICfg);
NVIC_SetPriority(EINT0_IRQn, 0);
NVIC_EnableIRQ(EINT0_IRQn);


Данным образом настраиваю пин на получени с него прерываний

Код
void EINT0_IRQHandler(void)
{
    int cnt = 3;
    ledOn &= 0x00FF;
    ledOn |= (1 << (cnt + 8));
    ledOn |= (1 << (15 - cnt));
    ledOff = 0x00FF;
    int tmp = ~0;
    tmp &= ~(1 << (cnt + 8));
    tmp &= ~(1 << (15 - cnt));
    ledOff |= (tmp & 0xFF00);
    pca9532_setLeds(ledOn, ledOff);
    EXTI_ClearEXTIFlag(0);
    vTaskResume(task2);
}


Ну и тут собственно обработка данного прерывания

Вкратце о том, что имею - freertos и EA BaseBoard. Идея какая: при поступлении внешнего прерывания запускается задача на выполнение(vTaskResume(task2)), но на данный момент программа даже не заходит в обработчик, уже просто не знаю куда копать =(

Спасибо за внимание, надеюсь на Вашу помощь!
Go to the top of the page
 
+Quote Post
sysel
сообщение Apr 17 2013, 06:36
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 3-07-07
Пользователь №: 28 852



Функцию лапе не ту указали:
Цитата
PinCfg.Funcnum = PINSEL_FUNC_0;

Вы же хотите обрабатывать прерывание EINT0, так и ставьте функцию "01"
PinCfg.Funcnum = PINSEL_FUNC_1;

Ну и стандартно:
Убедитесь что разрешены прерывания вообще (регистр PRIMASK).
Go to the top of the page
 
+Quote Post

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

 


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


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