Add timer.{h, c}
This commit is contained in:
+22
@@ -0,0 +1,22 @@
|
||||
#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 |= TIM4_ENABLE;
|
||||
}
|
||||
Reference in New Issue
Block a user