Fix gpio_set_mode masking
This commit is contained in:
@@ -2028,8 +2028,8 @@ void gpio_write(uint16_t pin,
|
||||
void gpio_set_mode(uint16_t pin, GPIO_MODE mode) {
|
||||
struct gpio *gpio = ((struct gpio*)(uintptr_t)((0x40020000U) + ((0x400U) * (pin >> 8))));
|
||||
int pn = (pin & 0b1111);
|
||||
gpio->MODER &= ~(0x0011 << (pn * 2));
|
||||
gpio->MODER |= (mode & 0b011) << (pn * 2);
|
||||
gpio->MODER &= ~(0b11 << (pn * 2));
|
||||
gpio->MODER |= (mode & 0b11) << (pn * 2);
|
||||
}
|
||||
|
||||
void gpio_write(uint16_t pin,
|
||||
|
||||
Reference in New Issue
Block a user