#include #include "clock.h" #include "libopencm3/stm32/f0/rcc.h" void init_clock(void) { /* Set STM32 to 48 MHz. */ rcc_clock_setup_in_hse_8mhz_out_48mhz(); // generate 48 MHz from external 8 MHz crystal //rcc_clock_setup_in_hsi_out_48mhz(); // generate ~48 MHz from internal RC oscillator // enable TIM1 for PWM generation rcc_periph_clock_enable(RCC_TIM1); // enable GPIO clocks: // Port A is needed for the charge pump, extension port and analog input rcc_periph_clock_enable(RCC_GPIOA); // Port B is needed for the LEDs rcc_periph_clock_enable(RCC_GPIOB); // USART1 is used for RS485 rcc_periph_clock_enable(RCC_USART1); // ADC1 for analog measuremnts rcc_periph_clock_enable(RCC_ADC1); // DMA1 is used for ADC data transfer rcc_periph_clock_enable(RCC_DMA1); // I2C1 is used for communication with the BMP280 rcc_periph_clock_enable(RCC_I2C1); }