X-Git-Url: http://cloudbase.mooo.com/gitweb/z180-stamp.git/blobdiff_plain/41d36f28612cb6c49cf0260236f3b834549883be..e39cd2a2822a410ba06d61657a467c8307daa35d:/avr/pin.c diff --git a/avr/pin.c b/avr/pin.c index 8a9f000..6e88aa5 100644 --- a/avr/pin.c +++ b/avr/pin.c @@ -12,7 +12,7 @@ Pin Name Port Timer Mode max div max div min f [Hz] 0 PG5 OC0B PWM (2**8)*1024 262144 70.31 1 PG4 2 CLK2 PB4 OC2A Toggle (2**8)*1024*2 524288 35.16 -3 CLOCK PB5 OC1A PWM (2**16)*1024 67108864 0.2746 +3 ZCLK PB5 OC1A PWM (2**16)*1024 67108864 0.2746 4 PB6 OC1B PWM (2**16)*1024 67108864 0.2746 5 PB7 OC0A Toggle (2**8)*1024*2 524288 35.16 6 PG3 @@ -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