analog.c: use atomic macros.
This commit is contained in:
parent
ccec75d9f8
commit
59599a3552
15
analog.c
15
analog.c
|
|
@ -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 {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue