ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
24 ноября
45676
Ivan S (05.12.2005 12:33, просмотров: 5870)
Люди помогите пожалуйста таймер запустить на LPC2214 Светодиод не моргает по таймеру. Проверял на выходе светодиода ни какой реакции. Изменение тока на другом входе (то что в основной части выполняется) проходит нормально. Текст моей программы: #include #include "LPC2214.h" __arm void Init_VPBDIV_4(void); __arm void pll_Init(void); __arm void mam_Init(void); __arm void gpio_Init(void); __arm void vic_Init(void);//Инициализация прерываний __arm void tmr_Init(void);//Инициализация таймера __arm static void isr_Timer0(void);//Исполняемая процедура static unsigned int ss; // static unsigned int kk; int main() { GPIO_IOCLR |= 0x40000000; __disable_interrupt(); mam_Init(); Init_VPBDIV_4(); pll_Init(); gpio_Init(); tmr_Init(); vic_Init(); ss=4; while (ss) { ss++; if (ss>200000) { ss=0; if(GPIO_IOPIN&0x10000000) { GPIO_IOCLR = 0x10000000; } else { GPIO_IOSET = 0x10000000; } } } __enable_interrupt(); GPIO_IOSET |= 0x40000000; while (1) { ss++; if (ss>200000) { ss=0; if(GPIO_IOPIN&0x10000000) { GPIO_IOCLR = 0x10000000; } else { GPIO_IOSET = 0x10000000; } } } return 0; } __arm void mam_Init(void) { MAMTIM = 3; MAMCR = 2; return; } __arm void Init_VPBDIV_4(void) { VPBDIV &= 0xCC; return; } __arm void pll_Init(void) { PLLCON = 0x01; PLLCFG = 0x21; PLLFEED = 0xAA; PLLFEED = 0x55; while (!(PLLSTAT&0x400)); PLLCON = 0x03; PLLFEED = 0xAA; PLLFEED = 0x55; return; } __arm void gpio_Init(void) { PINSEL1 &= 0xC0FFFFFF; GPIO_IODIR = 0x70000000; return; } __arm void vic_Init(void) { VICProtection = 0x1; VICIntEnClear = 0xFFFFFFFF; VICIntSelect = 0x0; VICVectCntl0 = 0x24; VICVectAddr = 0x0; VICVectAddr0 = (unsigned int) &isr_Timer0; VICIntEnable = 0x10; VICProtection = 0x0; return; } __arm void tmr_Init(void) { T0_MR0 = 40000000; T0_MCR = 0x3; T0_PR = 0x01; T0_TC = 0x00; T0_TCR = 0x01; return; } __arm static void isr_Timer0(void) { if(GPIO_IOPIN&0x40000000) { GPIO_IOCLR = 0x40000000; //Вкл светодиод } else { GPIO_IOSET = 0x40000000;//Выкл светодиод } T0_IR = 0x01; MR0 return; } LPC2214.h -- Содержит адреса(адреса правильные)