Не работает прерывание по пину P1_3 на CC2541
Пилю проект на TI CC2541, есть кнопка и на P1_3 навешано прерывание
P1DIR &= ~BV(3); // Как вход
P1INP |= BV(3); // 3-state, и пуллы тоже использовал
//P2INP |= BV(6); // PDUP1
PICTL |= BV(1); // P1ICONL Falling edge on input gives interrupt
P1IEN |= BV(3); // включаем прерывания на пин
IEN2 |= BV(4); // P1IE включаем прерывания на порт
P1IFG = 0;
P1IF = 0;
HAL_ISR_FUNCTION( P1_ISR, P1INT_VECTOR )
{
HAL_ENTER_ISR();
if (P1IFG & BV(3)) {
}
P1IFG = 0;
P1IF = 0;
HAL_EXIT_ISR();
}
Так вот прерывание не приходит, даже перепаял на P1_0 но похоже на весь порт прерываний нет хотя включены IEN2 |= BV(4);, при установке в P1IFG = 1; прерывание срабатывает. Уже даже не знаю что делать, пошарил форум официальный нашел как включить прерывания на порт, но не помогло. Timer3 на Alt2, USART-ы на Alt1, пин вообще девственен.
P.S прошу отвечать тех кто реально работал с чипом, насчет hal_key знаю, но очень медленный, не подходит
Ответы (1 шт):
Автор решения: Руслан Ягупов
→ Ссылка
Проблема оказалась в том что порт выгорел от статики, перепаял чип, все норм.