aboutsummaryrefslogtreecommitdiff
path: root/cores/arduino/wiring_digital.c
diff options
context:
space:
mode:
authoramcewen <amcewen@bcs.org.uk>2011-08-28 20:28:53 +0100
committeramcewen <amcewen@bcs.org.uk>2011-08-28 20:28:53 +0100
commit8ce77304f796e077f594859f270f9f024dc05605 (patch)
tree285233e5b57f0029551056b1951e4e539b265951 /cores/arduino/wiring_digital.c
parente852be3e97763e621a0f8014a3db4bf92a650b50 (diff)
parentf9d50a793010db3a2968262f35d34edaf048a650 (diff)
Merge branch 'master' into wifly_integration
Diffstat (limited to 'cores/arduino/wiring_digital.c')
-rwxr-xr-xcores/arduino/wiring_digital.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/cores/arduino/wiring_digital.c b/cores/arduino/wiring_digital.c
index 0949da4..dd1b949 100755
--- a/cores/arduino/wiring_digital.c
+++ b/cores/arduino/wiring_digital.c
@@ -136,17 +136,16 @@ void digitalWrite(uint8_t pin, uint8_t val)
out = portOutputRegister(port);
+ uint8_t oldSREG = SREG;
+ cli();
+
if (val == LOW) {
- uint8_t oldSREG = SREG;
- cli();
*out &= ~bit;
- SREG = oldSREG;
} else {
- uint8_t oldSREG = SREG;
- cli();
*out |= bit;
- SREG = oldSREG;
}
+
+ SREG = oldSREG;
}
int digitalRead(uint8_t pin)