cpu/stm32/gpio: do not clear pin on init
This commit is contained in:
parent
f0d0009820
commit
b08188efd2
@ -94,9 +94,8 @@ int gpio_init(gpio_t pin, gpio_mode_t mode)
|
|||||||
/* set output mode */
|
/* set output mode */
|
||||||
port->OTYPER &= ~(1 << pin_num);
|
port->OTYPER &= ~(1 << pin_num);
|
||||||
port->OTYPER |= (((mode >> 4) & 0x1) << pin_num);
|
port->OTYPER |= (((mode >> 4) & 0x1) << pin_num);
|
||||||
/* finally set pin speed to maximum and reset output */
|
/* set pin speed to maximum */
|
||||||
port->OSPEEDR |= (3 << (2 * pin_num));
|
port->OSPEEDR |= (3 << (2 * pin_num));
|
||||||
port->BSRR = (1 << (pin_num + 16));
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -89,9 +89,6 @@ int gpio_init(gpio_t pin, gpio_mode_t mode)
|
|||||||
/* set pin mode */
|
/* set pin mode */
|
||||||
port->CR[pin_num >> 3] &= ~(0xf << ((pin_num & 0x7) * 4));
|
port->CR[pin_num >> 3] &= ~(0xf << ((pin_num & 0x7) * 4));
|
||||||
port->CR[pin_num >> 3] |= ((mode & MODE_MASK) << ((pin_num & 0x7) * 4));
|
port->CR[pin_num >> 3] |= ((mode & MODE_MASK) << ((pin_num & 0x7) * 4));
|
||||||
/* set initial state of output register */
|
|
||||||
port->BRR = (1 << pin_num);
|
|
||||||
port->BSRR = ((mode >> ODR_POS) << pin_num);
|
|
||||||
|
|
||||||
return 0; /* all OK */
|
return 0; /* all OK */
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user