diff --git a/cpu/msp430fxyz/periph/gpio.c b/cpu/msp430fxyz/periph/gpio.c index 1432e9e64a7247bd42e95e9931cc386531b5518f..5751978bd1f587bccdac4e3c022797b6d512905b 100644 --- a/cpu/msp430fxyz/periph/gpio.c +++ b/cpu/msp430fxyz/periph/gpio.c @@ -88,11 +88,13 @@ int gpio_init(gpio_t pin, gpio_mode_t mode) } /* reset pin and output value */ - port->DIR &= ~(_pin(pin)); - port->OD &= ~(_pin(pin)); if (mode == GPIO_OUT) { port->DIR |= _pin(pin); } + else { + port->DIR &= ~(_pin(pin)); + } + port->OD &= ~(_pin(pin)); return 0; }