ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
18 мая
53418
Argon (10.03.2006 06:53, просмотров: 2152)
Только начинаю разбираться с LPC, проблемы с прерываниями. MEMMAP = 1 ; // user flash mode //MEMMAP = 2 ; // user ram mode T0IR=0xFF; // reset match and capture event interrupts T0TC=0; // Clear timer counter T0PR= 0; // No Prescalar T0MR0=10000; // Count up to 10,000 for 100Hz interrupt T0MCR = 3; // Reset Timer Counter & Interrupt on match T0TCR = 1; // Counting enable __disable_interrupt(); VICProtection = 0; // Accessed in User or privileged mode VICVectAddr = 0; // Clear interrupt VICIntSelect = 0; //Назначить все прерывания как IRQ VICIntEnable |= 0x10; // Turn on Timer0 Interrupt VICVectCntl0 = 0x20 | VIC_TIMER0; // IRQ type, TIMER 0 int enabled VICVectAddr0 = (unsigned long)&Tmr0_IntOnMR0_isr; // Install ISR in VIC addr slot 0 __enable_interrupt(); // Global interrupt enable и после этого - ступор! проц крутится около 0-х адресов, по адресу 0x18 - нули, что не похоже на вектор прерывания. отлаживал и при прошивке во flash и при отладке из RAM, результат один.