Gast
#181297
Hallo,
ich habe da mal eine Frage zu den Headerdateien aus der avrlibc:
In der avr/sleep.h steht
#define sleep_mode() \
do { \
_SLEEP_CONTROL_REG |= _BV(SE); \
_asm__ __volatile_ ("sleep" "\n\t" :: ); \
_SLEEP_CONTROL_REG &= ~_BV(SE); \
} while (0)
Warum wird da eine "do {} while ()"-Schleife benutzt, die garantiert
nur einmal durchlaufen wird? Warum wird keine einfache Zuweisung dazu
genommen?
Gruß
Lutz