настраиваю EINT0 на LPC2292 пытаюсь зделать вызов по переходу 1->0 но контролле просто виснет и все вчем причина не пойму может будут какиенибуть замечания ? вот листинг :
#define VIC_EINT0_bit (1 << VIC_EINT0)
void Extern_Interrupt(void){
out_coment("ppp",3,"U",0); ct_ext_front++; EXTINT_bit.EINT0=1; }
void InitExternInterrupt(void){
PINSEL1_bit.P0_16 = 0x1; //Назначаем линии порта P0.16 функцию источника внешнего прерывания EINT0 VICIntEnable &= ~VIC_EINT0_bit; EXTINT_bit.EINT0=1; EXTMODE_bit.EXTMODE0 = 1; //Для входа EINT0 выбрана реакция на переход EXTPOLAR_bit.EXTPOLAR0 = 0; //выбрана чувствительность к спаду EXTINT_bit.EINT0=0; VICIntSelect &= ~VIC_EINT0_bit; //Назначаем прерывание EINT0 как IRQ VICVectAddr5 = (unsigned int) & Extern_Interrupt; //Указываем обработчик прерывания VICVectCntl5 = 0x20 | VIC_EINT0; //Назначаем и разрешаем в пятом слоте прерывание EINT0 VICIntEnable |= VIC_EINT0_bit; //Разрешаем внешнее прерывание
}
|