system (systick related)
This commit is contained in:
parent
f63b6c2462
commit
576171f732
2 changed files with 41 additions and 0 deletions
35
system.c
Normal file
35
system.c
Normal file
|
@ -0,0 +1,35 @@
|
|||
#include "system.h"
|
||||
#include <libopencm3/cm3/systick.h>
|
||||
#include <stdint.h>
|
||||
|
||||
volatile uint64_t ticks = 0;
|
||||
|
||||
void sys_tick_handler(void) { ticks++; }
|
||||
|
||||
uint64_t get_ticks(void) { return ticks; }
|
||||
|
||||
void systick_setup(void) {
|
||||
// systick_set_frequency(1000, 72000000);
|
||||
systick_set_clocksource(STK_CSR_CLKSOURCE_AHB);
|
||||
systick_set_reload(72000000 / 1000 - 1); // 1ms tick
|
||||
systick_clear();
|
||||
systick_interrupt_enable();
|
||||
systick_counter_enable();
|
||||
}
|
||||
|
||||
void sys_tick_setup(void) {
|
||||
ticks = 0;
|
||||
// rcc_clock_setup_pll(&rcc_hse_configs[RCC_CLOCK_HSE16_72MHZ]);
|
||||
|
||||
// systick_set_clocksource(STK_CSR_CLKSOURCE_AHB_DIV8);
|
||||
systick_set_clocksource(STK_CSR_CLKSOURCE_AHB);
|
||||
|
||||
// systick_set_reload(8999);
|
||||
systick_set_frequency(1000, 72000000);
|
||||
systick_clear();
|
||||
|
||||
systick_interrupt_enable();
|
||||
systick_counter_enable();
|
||||
|
||||
return;
|
||||
}
|
6
system.h
Normal file
6
system.h
Normal file
|
@ -0,0 +1,6 @@
|
|||
#pragma once
|
||||
#include <stdint.h>
|
||||
|
||||
void sys_tick_handler(void);
|
||||
uint64_t get_ticks(void);
|
||||
void systick_setup(void);
|
Loading…
Add table
Reference in a new issue