Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: LPC таймер, прерывание
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
HSA
Всем доброго времени суток.

Помогите разобраться с таймером. Необходимо запустить таймер от внешнего прерывания (передний фронт сигнала), затем по приходу заднего фронта сигнала (второе внешнее прерывание) взять из таймера натиканное число. Вроде все как-то просто. Примеры нашел в инете.
Вот пробовал по всякому...

void Timer_capture_init();
static void T0isr ();

void T0isr ()
{
IO0SET_bit.P0_10 = 1;
int value=0;
value = T0CR0; // read the capture value
T0IR |= 0x00000001; //Clear match 0 interrupt
VICVectAddr = 0x00000000; //Dummy write to signal end of interrupt
}


void Timer_capture_init()
{
VPBDIV = 0x00000002; //Set pclk to 30 Mhz
PINSEL0 |= 0x00000020; //Enable pin 0.2 as capture channel0
T0PR = 0x0000001E; //Load prescaler for 1 Msec tick
T0TCR = 0x00000002; //Reset counter and prescaler
T0CCR = 0x00000005; //Capture on rising edge of channel0
T0TCR = 0x00000001; //enable timer

VICVectAddr4 = (unsigned int)T0isr; //Set the timer ISR vector address
VICVectCntl4 = 0x00000024; //Set channel
VICIntEnable = 0x00000010; //Enable the interrupt
return;
}

Пользуюсь IAR 4.2. Не входит в прерывание, какие бы примеры не брал.
NickB
А где установка T0MCR ?
NickB
А почему бы Вым не попробовать Keil? Он правильно симулирует эти самые таймеры. Я напр почти все отладил не имея готовой платы
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.