rfdn: add systick
This commit is contained in:
parent
9c3d5c0ee2
commit
77eda9fcb7
|
@ -12,7 +12,7 @@
|
|||
static const struct attenuator_cfg *g_att_cfg;
|
||||
static struct attenuator_state **g_att_state;
|
||||
|
||||
static void delay()
|
||||
static void delay(void)
|
||||
{
|
||||
volatile uint32_t i;
|
||||
for (i = 0; i < 10000; i++) { }
|
||||
|
|
|
@ -20,10 +20,39 @@
|
|||
#include <libopencm3/stm32/rcc.h>
|
||||
#include <libopencm3/stm32/gpio.h>
|
||||
#include <libopencm3/stm32/usart.h>
|
||||
#include <libopencm3/stm32/i2c.h>
|
||||
#include <libopencm3/cm3/nvic.h>
|
||||
#include <libopencm3/cm3/systick.h>
|
||||
|
||||
#include "attenuator.h"
|
||||
#include "misc.h"
|
||||
|
||||
volatile uint32_t jiffies;
|
||||
|
||||
void sys_tick_handler(void)
|
||||
{
|
||||
jiffies++;
|
||||
}
|
||||
|
||||
/* busy wait specified number of ms */
|
||||
void msleep(uint32_t delay)
|
||||
{
|
||||
uint32_t wake = jiffies + delay;
|
||||
do {
|
||||
} while (wake > jiffies);
|
||||
}
|
||||
|
||||
|
||||
static void clock_setup(void)
|
||||
{
|
||||
rcc_clock_setup_in_hsi_out_48mhz();
|
||||
/* HCLK=48MHz; ADC=6MHz; APB1=24MHz; APB2=48MHz; USB=48MHz */
|
||||
|
||||
/* tick rate of 1ms */
|
||||
systick_set_reload(48000);
|
||||
systick_set_clocksource(STK_CSR_CLKSOURCE_AHB);
|
||||
systick_counter_enable();
|
||||
systick_interrupt_enable();
|
||||
|
||||
/* Enable GPIOC clock. */
|
||||
rcc_periph_clock_enable(RCC_GPIOA);
|
||||
|
|
Loading…
Reference in New Issue