Files
stm32-falling-sand/src/timer.c
T
Alexander Heldt 0bc9e2bd4a wip
2024-09-05 19:32:35 +02:00

23 lines
447 B
C

#include "rcc.h"
#include "timer.h"
void tim4_init(void) {
// Enable timer
RCC->APB1ENR |= RCC_APB1ENR_TIM4_ENABLE;
// Reset timer
TIM4->CR1 = 0x0000;
TIM4->CR2 = 0x0000;
// Set prescaler
// f_clk = 48MHz -> /48000 = 1KHz counting frequency = 1ms
TIM4->PSC = (uint16_t) 48000 - 1;
// Set ARR to maximum value to get 1ms between updates
TIM4->ARR = (uint16_t) 0xFFFF;
}
void tim4_start(void) {
TIM4->CR1 |= TIM_ENABLE;
}