analog.c: use atomic macros.

This commit is contained in:
Markus Hitter 2013-10-19 21:59:32 +02:00
parent ccec75d9f8
commit 59599a3552
1 changed files with 4 additions and 11 deletions

View File

@ -118,17 +118,10 @@ uint16_t analog_read(uint8_t index) {
if (analog_mask > 0) { if (analog_mask > 0) {
uint16_t r; uint16_t r;
uint8_t sreg; ATOMIC_START
// save interrupt flag // atomic 16-bit copy
sreg = SREG; r = adc_result[index];
// disable interrupts ATOMIC_END
cli();
// atomic 16-bit copy
r = adc_result[index];
// restore interrupt flag
SREG = sreg;
return r; return r;
} else { } else {