LPC1768 ja Timerit

Tervehdys kaikki,

Sattuisiko kukaan tietämään minkä takia LPC1768 ARM:ssa Timerin kellot eroavat. Vaikka alustan timerit täysin samalla kello asetuksella, niin silti Match aika ei ole sama timereilla.

Eli esim
LPC_TIM0->MR0 = 500; // Interrupti 5us päästä
LPC_TIM1->MR0 = 500; // Interrupti 24us päästä

void initTimer0()
{
	LPC_SC->PCONP |= 1 << 1; // Power up Timer 0
	LPC_SC->PCLKSEL0 |= 1 << 2; // Clock for timer = CCLK / 2
	
	LPC_TIM0->MR0 = 0; // Match Timer 0
	LPC_TIM0->MR1 = 400; // Match Timer 1
	LPC_TIM0->MR2 = 1200; // Match Timer 2
	LPC_TIM0->MR3 = 6400; // Match Timer 3
	
	LPC_TIM0->MCR |= 1 << 0; // Interrupt on Match0
	
	LPC_TIM0->MCR |= 1 << 3; // Interrupt on Match1
	
	LPC_TIM0->MCR |= 1 << 6; // Interrupt on Match2
	
	LPC_TIM0->MCR |= 1 << 10; // Reset timer on Match 3.
	
	LPC_TIM0->TCR |= 1 << 1; // Reset Timer 0
	LPC_TIM0->TCR &= ~( 1 << 1 ); // Sopt reseting Timer 0
	
	NVIC_EnableIRQ( TIMER0_IRQn );
	
	LPC_TIM0->TCR |= 1 << 0; // Start Timer 0
}

void initTimer1()
{
	LPC_SC->PCONP |= 1 << 2; // Power up Timer 1
	LPC_SC->PCLKSEL0 |= 1 << 2; // Clock for timer = CCLK / 2
	
	LPC_TIM1->MR0 = 0; // Match Timer 0
	LPC_TIM1->MR1 = 2700; // Match Timer 1
	LPC_TIM1->MR2 = 400; // Match Timer 2
	
	LPC_TIM1->MCR |= 1 << 0; // Interrupt on Match0
	
	LPC_TIM1->MCR |= 1 << 3; // Interrupt on Match1
	
	LPC_TIM1->MCR |= 1 << 7; // Reset timer on Match 3.
	
	LPC_TIM1->TCR |= 1 << 1; // Reset Timer 1
	LPC_TIM1->TCR &= ~( 1 << 1 ); // Sopt reseting Timer 1
	
	NVIC_EnableIRQ( TIMER1_IRQn );
	
	LPC_TIM1->TCR |= 1 << 0; // Start Timer 1
}

Edit1:

Ongelma ratkesi manuaalista. :smiley: Eli kello oli asetettu väärin LPC_SC->PCLKSEL0 |= 1 << 2; // Clock for timer = CCLK / 2 → LPC_SC->PCLKSEL0 |= 1 << 4; // Clock for timer = CCLK / 2