STM32F103C8 based boards common¶
Shared files and configuration for STM32F103C8 based boards.
-
CLOCK_CORECLOCK
¶ 1
(72000000U)
-
CLOCK_HSE
¶ 1
(8000000U)
-
CLOCK_LSE
¶ 1
(1U)
-
CLOCK_AHB_DIV
¶ 1
RCC_CFGR_HPRE_DIV1
-
CLOCK_AHB
¶ 1
(CLOCK_CORECLOCK / 1)
-
CLOCK_APB1_DIV
¶ 1
RCC_CFGR_PPRE1_DIV2 /* max 36MHz */
-
CLOCK_APB1
¶ 1
(CLOCK_CORECLOCK / 2)
-
CLOCK_APB2_DIV
¶ 1
RCC_CFGR_PPRE2_DIV1 /* max 72MHz */
-
CLOCK_APB2
¶ 1
(CLOCK_CORECLOCK / 1)
-
CLOCK_PLL_PREDIV
¶ 1
(1)
-
CLOCK_PLL_MUL
¶ 1
(9)
-
ADC_CONFIG
¶ 1 2 3 4 5 6 7 8 9 10 11 12
{ \ { .dev = 0, .pin = GPIO_PIN(PORT_A, 0), .chan = 0 }, \ { .dev = 0, .pin = GPIO_PIN(PORT_A, 1), .chan = 1 }, \ { .dev = 0, .pin = GPIO_PIN(PORT_A, 2), .chan = 2 }, \ { .dev = 0, .pin = GPIO_PIN(PORT_A, 3), .chan = 3 }, \ { .dev = 0, .pin = GPIO_PIN(PORT_A, 4), .chan = 4 }, \ { .dev = 0, .pin = GPIO_PIN(PORT_A, 5), .chan = 5 }, \ { .dev = 0, .pin = GPIO_PIN(PORT_A, 6), .chan = 6 }, \ { .dev = 0, .pin = GPIO_PIN(PORT_A, 7), .chan = 7 }, \ { .dev = 0, .pin = GPIO_PIN(PORT_B, 0), .chan = 8 }, \ { .dev = 0, .pin = GPIO_PIN(PORT_B, 1), .chan = 9 }, \ }
-
ADC_NUMOF
¶ 1
10
-
const timer_conf_t
timer_config
()¶ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
= { { .dev = TIM2, .max = 0x0000ffff, .rcc_mask = RCC_APB1ENR_TIM2EN, .bus = APB1, .irqn = TIM2_IRQn }, { .dev = TIM3, .max = 0x0000ffff, .rcc_mask = RCC_APB1ENR_TIM3EN, .bus = APB1, .irqn = TIM3_IRQn }, { .dev = TIM4, .max = 0x0000ffff, .rcc_mask = RCC_APB1ENR_TIM4EN, .bus = APB1, .irqn = TIM4_IRQn } }
-
TIMER_0_ISR
¶ 1
isr_tim2
-
TIMER_1_ISR
¶ 1
isr_tim3
-
TIMER_2_ISR
¶ 1
isr_tim4
-
TIMER_NUMOF
¶ 1
(sizeof(timer_config) / sizeof(timer_config[0]))
-
const uart_conf_t
uart_config
()¶ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
= { { .dev = USART1, .rcc_mask = RCC_APB2ENR_USART1EN, .rx_pin = GPIO_PIN(PORT_A, 10), .tx_pin = GPIO_PIN(PORT_A, 9), .bus = APB2, .irqn = USART1_IRQn }, { .dev = USART2, .rcc_mask = RCC_APB1ENR_USART2EN, .rx_pin = GPIO_PIN(PORT_A, 3), .tx_pin = GPIO_PIN(PORT_A, 2), .bus = APB1, .irqn = USART2_IRQn }, { .dev = USART3, .rcc_mask = RCC_APB1ENR_USART3EN, .rx_pin = GPIO_PIN(PORT_B, 11), .tx_pin = GPIO_PIN(PORT_B, 10), .bus = APB1, .irqn = USART3_IRQn } }
-
UART_0_ISR
¶ 1
(isr_usart1)
-
UART_1_ISR
¶ 1
(isr_usart2)
-
UART_2_ISR
¶ 1
(isr_usart3)
-
UART_NUMOF
¶ 1
(sizeof(uart_config) / sizeof(uart_config[0]))
-
const i2c_conf_t
i2c_config
()¶ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
= { { .dev = I2C1, .speed = I2C_SPEED_NORMAL, .scl_pin = GPIO_PIN(PORT_B, 8), .sda_pin = GPIO_PIN(PORT_B, 9), .bus = APB1, .rcc_mask = RCC_APB1ENR_I2C1EN, .clk = CLOCK_APB1, .irqn = I2C1_EV_IRQn }, { .dev = I2C2, .speed = I2C_SPEED_NORMAL, .scl_pin = GPIO_PIN(PORT_B, 10), .sda_pin = GPIO_PIN(PORT_B, 11), .bus = APB1, .rcc_mask = RCC_APB1ENR_I2C2EN, .clk = CLOCK_APB1, .irqn = I2C2_EV_IRQn } }
-
I2C_0_ISR
¶ 1
isr_i2c1_ev
-
I2C_1_ISR
¶ 1
isr_i2c2_ev
-
I2C_NUMOF
¶ 1
(sizeof(i2c_config) / sizeof(i2c_config[0]))
-
const pwm_conf_t
pwm_config
()¶ 1 2 3 4 5 6 7 8 9 10 11 12
= { { .dev = TIM1, .rcc_mask = RCC_APB2ENR_TIM1EN, .chan = { { .pin = GPIO_PIN(PORT_A, 8), .cc_chan = 0 }, { .pin = GPIO_PIN(PORT_A, 9), .cc_chan = 1 }, { .pin = GPIO_PIN(PORT_A, 10), .cc_chan = 2 }, { .pin = GPIO_PIN(PORT_A, 11), .cc_chan = 3 } }, .af = GPIO_AF_OUT_PP, .bus = APB2 } }
-
PWM_NUMOF
¶ 1
(sizeof(pwm_config) / sizeof(pwm_config[0]))
-
const uint8_t
spi_divtable
()¶ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
= { { 7, 6, 4, 2, 1 }, { 7, 7, 5, 3, 2 } }
-
const spi_conf_t
spi_config
()¶ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
= { { .dev = SPI1, .mosi_pin = GPIO_PIN(PORT_A, 7), .miso_pin = GPIO_PIN(PORT_A, 6), .sclk_pin = GPIO_PIN(PORT_A, 5), .cs_pin = GPIO_PIN(PORT_A, 4), .rccmask = RCC_APB2ENR_SPI1EN, .apbbus = APB2 }, { .dev = SPI2, .mosi_pin = GPIO_PIN(PORT_B, 15), .miso_pin = GPIO_PIN(PORT_B, 14), .sclk_pin = GPIO_PIN(PORT_B, 13), .cs_pin = GPIO_PIN(PORT_B, 12), .rccmask = RCC_APB1ENR_SPI2EN, .apbbus = APB1 } }
-
SPI_NUMOF
¶ 1
(sizeof(spi_config) / sizeof(spi_config[0]))