diff --git a/source/platform/stm32f1/buzzer.c b/source/platform/stm32f1/buzzer.c index 4b361a9..7302fc5 100644 --- a/source/platform/stm32f1/buzzer.c +++ b/source/platform/stm32f1/buzzer.c @@ -6,9 +6,9 @@ #include struct buzzer buzzers[] = { - { TIM2, TIM_OC3 }, - { TIM2, TIM_OC4 }, + { TIM2, TIM_OC1 }, }; + size_t nbuzzers = count_of(buzzers); void buzzer_init(struct buzzer *buzzer) diff --git a/source/platform/stm32f1/gpio.c b/source/platform/stm32f1/gpio.c index 9fac16b..c8bba8f 100644 --- a/source/platform/stm32f1/gpio.c +++ b/source/platform/stm32f1/gpio.c @@ -32,13 +32,13 @@ int gpio_init(void) /* Set up GPIOs for timers. */ gpio_primary_remap(0, AFIO_MAPR_TIM2_REMAP_PARTIAL_REMAP1); gpio_set_mode(GPIOA, GPIO_MODE_OUTPUT_50_MHZ, - GPIO_CNF_OUTPUT_ALTFN_PUSHPULL, GPIO_TIM2_PR1_CH3); - gpio_set_mode(GPIOA, GPIO_MODE_OUTPUT_50_MHZ, - GPIO_CNF_OUTPUT_ALTFN_PUSHPULL, GPIO_TIM2_PR1_CH4); + GPIO_CNF_OUTPUT_ALTFN_PUSHPULL, GPIO_TIM2_PR1_CH1_ETR); /* Set up GPIO for LED. */ gpio_set_mode(GPIOB, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_PUSHPULL, GPIO0); gpio_clear(GPIOB, GPIO0); + gpio_set_mode(GPIOC, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_PUSHPULL, GPIO10); + gpio_set(GPIOC, GPIO10); return 0; } diff --git a/source/platform/stm32f1/led.c b/source/platform/stm32f1/led.c index 0214ea6..a867ba5 100644 --- a/source/platform/stm32f1/led.c +++ b/source/platform/stm32f1/led.c @@ -4,8 +4,9 @@ #include struct led leds[] = { - { GPIOB, GPIO0, 1 }, + { GPIOC, GPIO10, 1 }, }; + size_t nleds = count_of(leds); void led_enable(struct led *led) diff --git a/source/platform/stm32f1/rcc.c b/source/platform/stm32f1/rcc.c index 9297e29..c099f2f 100644 --- a/source/platform/stm32f1/rcc.c +++ b/source/platform/stm32f1/rcc.c @@ -7,6 +7,7 @@ int rcc_init(void) rcc_periph_clock_enable(RCC_AFIO); rcc_periph_clock_enable(RCC_GPIOA); rcc_periph_clock_enable(RCC_GPIOB); + rcc_periph_clock_enable(RCC_GPIOC); rcc_periph_clock_enable(RCC_SPI1); rcc_periph_clock_enable(RCC_USART1); rcc_periph_clock_enable(RCC_USART2);