AnsweredAssumed Answered

Delay function with timer

Question asked by caramaliu.radu on Feb 22, 2013
Latest reply on Mar 1, 2013 by Clive One

I am trying to make a simple delay function using a timer but i get weird results .
Here is some of the code 

void TIMERS_init(){
     TIM3->PSC = 23999;          // f timer = fclk / 24000 => 1kHz
     TIM3->ARR = 0xFFFF;
     TIM3->CR1 = TIM_CR1_CEN;     
void Delay_ms(uint16_t ms){

     TIM3->CNT = 0;
     while (TIM3->CNT < ms){}
     Delay_ms(500);          //delay 0.5 sec
     Delay_ms(500);          //delay 0.5 sec

The while in main is to test that the blue LED blinks at 2 Hz .

I am using keil 4 . In debug if i run step by step works fine , but in continuously run the LED is half bright (probably is on and off at a high frequency) . I can't understand why because the prescalar remains set .