From ad0e9c26b66d0f28c45229b246e7d9cd6de32e8a Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Mon, 15 Jun 2015 20:39:34 +0200 Subject: [PATCH] cpu/stm32f3: fixed init_af in GPIO driver --- cpu/stm32f3/periph/gpio.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cpu/stm32f3/periph/gpio.c b/cpu/stm32f3/periph/gpio.c index d1a0f281f0..f47f140f84 100644 --- a/cpu/stm32f3/periph/gpio.c +++ b/cpu/stm32f3/periph/gpio.c @@ -155,8 +155,8 @@ void gpio_init_af(gpio_t pin, gpio_af_t af) port->MODER &= ~(3 << (2 * pin_num)); port->MODER |= (2 << (2 * pin_num)); /* set selected function */ - port->AFR[pin_num & 0x10] &= ~(0xf << ((pin_num & 0x0f) * 4)); - port->AFR[pin_num & 0x10] |= (af << ((pin_num & 0x0f) * 4)); + port->AFR[(pin_num > 7) ? 1 : 0] &= ~(0xf << ((pin_num & 0x07) * 4)); + port->AFR[(pin_num > 7) ? 1 : 0] |= (af << ((pin_num & 0x07) * 4)); } void gpio_irq_enable(gpio_t pin)