From 77eda9fcb74c2d75e65f87a153e4256bffd8f54b Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sun, 28 Mar 2021 12:16:21 +0200 Subject: [PATCH] rfdn: add systick --- projects/rfdsatt/attenuator.c | 2 +- projects/rfdsatt/rfdsatt.c | 29 +++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/projects/rfdsatt/attenuator.c b/projects/rfdsatt/attenuator.c index 5a45bea..0bf03d5 100644 --- a/projects/rfdsatt/attenuator.c +++ b/projects/rfdsatt/attenuator.c @@ -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++) { } diff --git a/projects/rfdsatt/rfdsatt.c b/projects/rfdsatt/rfdsatt.c index a25411c..7d10f8d 100644 --- a/projects/rfdsatt/rfdsatt.c +++ b/projects/rfdsatt/rfdsatt.c @@ -20,10 +20,39 @@ #include #include #include +#include +#include +#include + +#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);