Shamray (10.08.2005 17:50, просмотров: 3239)
Зависание LPC2214 при приходе прерывания. Есть такая проблема: при приходе любого из разрешенных прерывания программаерестает выполнятся. Сразу после программирования все нормально вызывается, но если сделать reset или дернуть питание то при первом же прерывании наблюдается уход вникуда... От чего это может быть???
Вот кусок кода:
int main(void)
{
__ARMLIB_disableIRQ();
intInit();
__ARMLIB_enableIRQ(); //Enable Interrupts
for(;;)
{
delay(10000);
printf(\\\"test\\\\n\\\");
};
void intINIT(void)
{
VICProtection = 0;
VICIntEnClr = 0xffffffff;
VPBDIV=0;
EXTINT=7;
VPBDIV=0;
EXTMODE=7;
VPBDIV=0;
EXTPOLAR=0;
VPBDIV=1;
VICIntSelect = 0;
VICVectAddr1 = (unsigned int) timer0ISR;
VICVectCntl1 = 0x20| VIC_TMR0;
VICIntEnable |= (1 << VIC_TMR0);
VICVectAddr3 = (unsigned int) UART1ISR;
VICVectCntl3 = 0x20| VIC_UART1;
VICIntEnable |= (1 << VIC_UART1);
}
static void timer0ISR(void)
{
T0IR = 0xFF; /* Clear the timer 0 interrupt */
VICVectAddr = 0;/* Update VIC priorities */
printf(\\\"t0\\\\n\\\");
}
void UART1ISR(void)
{
unsigned char temp;
temp=U1IIR&0x0f;
VICVectAddr = 0;
/////
бла-бла-бла
////
}