diff --git a/cpu/stm32f0/periph/timer.c b/cpu/stm32f0/periph/timer.c index 8f6f146862..f6fc9608af 100644 --- a/cpu/stm32f0/periph/timer.c +++ b/cpu/stm32f0/periph/timer.c @@ -42,7 +42,7 @@ typedef struct { static timer_conf_t config[TIMER_NUMOF]; -int timer_init(tim_t dev, unsigned int ticks_per_us, void (*callback)(int)) +int timer_init(tim_t dev, unsigned long freq, void (*callback)(int)) { TIM_TypeDef *timer; @@ -80,7 +80,7 @@ int timer_init(tim_t dev, unsigned int ticks_per_us, void (*callback)(int)) /* set auto-reload and prescaler values and load new values */ timer->ARR = TIMER_0_MAX_VALUE; - timer->PSC = TIMER_0_PRESCALER * ticks_per_us; + timer->PSC = (TIMER_0_FREQ / freq) - 1; timer->EGR |= TIM_EGR_UG; /* enable the timer's interrupt */