amsbhole07
Member level 1
- Joined
- Oct 28, 2010
- Messages
- 35
- Helped
- 0
- Reputation
- 0
- Reaction score
- 0
- Trophy points
- 1,286
- Activity points
- 1,535
I am using LPC1768 IC and external crystal 12 MHZ .
I am using Timer and i want to calculate exact time
timer.c file
My query is how to calculate time interval .
what is the clk value
Time interval 71999999=1sec i got from oscilloscope .
please explain me how to calculate exact value
I am using Timer and i want to calculate exact time
timer.c file
Code C - [expand] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 ***************************************************************************** ** Function name: delayMs ** ** Descriptions: Start the timer delay in milo seconds ** until elapsed ** ** parameters: timer number, Delay value in milo second ** ** Returned value: None ** *****************************************************************************/ void delayMs(uint8_t timer_num, uint32_t delayInMs) { if ( timer_num == 0 ) { LPC_TIM0->TCR = 0x02; /* reset timer */ LPC_TIM0->PR = 0x00; /* set prescaler to zero */ LPC_TIM0->MR0 = delayInMs * (9000000 / 1000-1); LPC_TIM0->IR = 0xff; /* reset all interrrupts */ LPC_TIM0->MCR = 0x04; /* stop timer on match */ LPC_TIM0->TCR = 0x01; /* start timer */ /* wait until delay time has elapsed */ while (LPC_TIM0->TCR & 0x01); } else if ( timer_num == 1 ) { LPC_TIM1->TCR = 0x02; /* reset timer */ LPC_TIM1->PR = 0x00; /* set prescaler to zero */ LPC_TIM1->MR0 = delayInMs * (9000000 / 1000-1); LPC_TIM1->IR = 0xff; /* reset all interrrupts */ LPC_TIM1->MCR = 0x04; /* stop timer on match */ LPC_TIM1->TCR = 0x01; /* start timer */ /* wait until delay time has elapsed */ while (LPC_TIM1->TCR & 0x01); } return; } /****************************************************************************** ** Function name: Timer0_IRQHandler ** ** Descriptions: Timer/Counter 0 interrupt handler ** ** parameters: None ** Returned value: None ** ******************************************************************************/ void TIMER0_IRQHandler (void) { /////////////////////////////////////// main file nt main (void) { SystemInit(); SystemClockUpdate(); init_timer ( 0,71999999); enable_timer( 0 ); LPC_TIM0->TCR = 1; NVIC_EnableIRQ(TIMER0_IRQn); while(1) { } }
My query is how to calculate time interval .
what is the clk value
Time interval 71999999=1sec i got from oscilloscope .
please explain me how to calculate exact value
Last edited by a moderator: