Skip to content
Snippets Groups Projects
Unverified Commit db773426 authored by ZetaR60's avatar ZetaR60 Committed by GitHub
Browse files

Merge pull request #9823 from fesselk/patch-1

atmega_common/gpio_init: fix pull-up settings for GPIO_IN_PU
parents 2350c467 d9aac6a7
No related branches found
No related tags found
No related merge requests found
......@@ -127,16 +127,18 @@ static inline int8_t _int_num(gpio_t pin)
int gpio_init(gpio_t pin, gpio_mode_t mode)
{
uint8_t pin_mask = (1 << _pin_num(pin));
switch (mode) {
case GPIO_OUT:
_SFR_MEM8(_ddr_addr(pin)) |= (1 << _pin_num(pin));
_SFR_MEM8(_ddr_addr(pin)) |= pin_mask;
break;
case GPIO_IN:
_SFR_MEM8(_ddr_addr(pin)) &= ~(1 << _pin_num(pin));
_SFR_MEM8(_port_addr(pin)) &= ~(1 << _pin_num(pin));
_SFR_MEM8(_ddr_addr(pin)) &= ~pin_mask;
_SFR_MEM8(_port_addr(pin)) &= ~pin_mask;
break;
case GPIO_IN_PU:
_SFR_MEM8(_port_addr(pin)) |= (1 << _pin_num(pin));
_SFR_MEM8(_ddr_addr(pin)) &= ~pin_mask;
_SFR_MEM8(_port_addr(pin)) |= pin_mask;
break;
default:
return -1;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment