Skip to content

Commit dd403d6

Browse files
Deomid Ryabkovcesantabot
authored andcommitted
Fix pull-up setting on STM32
CL: Fix pull-up setting on STM32 PUBLISHED_FROM=d0e12a8068d247d608e24c49ccb4d61fb62127bf
1 parent 67ffee0 commit dd403d6

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

fw/platforms/stm32/src/stm32_gpio.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -230,8 +230,8 @@ bool mgos_gpio_set_mode(int pin, enum mgos_gpio_mode mode) {
230230
bool mgos_gpio_set_pull(int pin, enum mgos_gpio_pull_type pull) {
231231
GPIO_TypeDef *regs = stm32_gpio_port_base(pin);
232232
if (regs == NULL) return false;
233-
const uint32_t pin_num = STM32_PIN_NUM(pin);
234-
uint32_t pupdr_msk = (3 << pin_num), pupdr_val = 0;
233+
const uint32_t shift = STM32_PIN_NUM(pin) * 2;
234+
uint32_t pupdr_val = 0;
235235
switch (pull) {
236236
case MGOS_GPIO_PULL_NONE:
237237
break;
@@ -244,7 +244,7 @@ bool mgos_gpio_set_pull(int pin, enum mgos_gpio_pull_type pull) {
244244
default:
245245
return false;
246246
}
247-
MODIFY_REG(regs->PUPDR, pupdr_msk, (pupdr_val << pin_num));
247+
MODIFY_REG(regs->PUPDR, (3 << shift), (pupdr_val << shift));
248248
return true;
249249
}
250250

0 commit comments

Comments
 (0)