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

 
 
> 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

Сообщений в этой теме


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

 


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


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