X-Git-Url: http://cloudbase.mooo.com/gitweb/z180-stamp.git/blobdiff_plain/cd5ee5442821f283f6661befb24b885d944e4c5e..e39cd2a2822a410ba06d61657a467c8307daa35d:/avr/pin.c diff --git a/avr/pin.c b/avr/pin.c index 14896b3..6e88aa5 100644 --- a/avr/pin.c +++ b/avr/pin.c @@ -130,14 +130,14 @@ int pin_config(int pin, pinmode_t mode) switch (mode) { case INPUT: pin_timer_off(pinlist[pin].timer); - ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { + ATOMIC_BLOCK(ATOMIC_FORCEON) { p->ddr &= ~bit; p->pout &= ~bit; } break; case INPUT_PULLUP: pin_timer_off(pinlist[pin].timer); - ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { + ATOMIC_BLOCK(ATOMIC_FORCEON) { p->ddr &= ~bit; p->pout |= bit; } @@ -145,7 +145,7 @@ int pin_config(int pin, pinmode_t mode) case OUTPUT: pin_timer_off(pinlist[pin].timer); case OUTPUT_TIMER: - ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { + ATOMIC_BLOCK(ATOMIC_FORCEON) { p->ddr |= bit; } break; @@ -162,7 +162,7 @@ void pin_write(int pin, uint8_t val) port_t *p = pinlist[pin].adr; uint8_t bit = pinlist[pin].mask; - ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { + ATOMIC_BLOCK(ATOMIC_FORCEON) { if (val) p->pout |= bit; else