From 6a5ed737f7c2968ab5781d1d25d3f85c9b1423b3 Mon Sep 17 00:00:00 2001 From: Dominic Clifton Date: Wed, 10 Dec 2014 12:48:20 +0000 Subject: [PATCH] STM32F30x - Fix GPIO initialisation. Closes #154 --- src/main/drivers/gpio_stm32f30x.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/drivers/gpio_stm32f30x.c b/src/main/drivers/gpio_stm32f30x.c index 1842fafaa9..8dd9d50324 100644 --- a/src/main/drivers/gpio_stm32f30x.c +++ b/src/main/drivers/gpio_stm32f30x.c @@ -47,7 +47,7 @@ void gpioInit(GPIO_TypeDef *gpio, gpio_config_t *config) if (config->pin & pinMask) { GPIO_InitStructure.GPIO_Pin = pinMask; - GPIO_InitStructure.GPIO_Mode = (config->mode >> MODE_OFFSET) & MODE_MASK; + GPIO_InitStructure.GPIO_Mode = (config->mode & MODE_MASK) >> MODE_OFFSET; GPIOSpeed_TypeDef speed = GPIO_Speed_10MHz; switch (config->speed) { @@ -63,8 +63,8 @@ void gpioInit(GPIO_TypeDef *gpio, gpio_config_t *config) } GPIO_InitStructure.GPIO_Speed = speed; - GPIO_InitStructure.GPIO_OType = (config->mode >> OUTPUT_OFFSET) & OUTPUT_MASK; - GPIO_InitStructure.GPIO_PuPd = (config->mode >> PUPD_OFFSET) & PUPD_MASK; + GPIO_InitStructure.GPIO_OType = (config->mode & OUTPUT_MASK) >> OUTPUT_OFFSET; + GPIO_InitStructure.GPIO_PuPd = (config->mode & PUPD_MASK) >> PUPD_OFFSET; GPIO_Init(gpio, &GPIO_InitStructure); } }