Текст заголовка сообщения полностью:
Может кто тоже столкнется. ИАР-АВР. Афифметика с битовыми полями тоже требует принудительного запрета прерываний.
Есть биты битового поля.
uni.bits.toggle // для индикации в фоновой программе.
uni.bits.flagg // объявлен как бит того же байта что и toggle.
// Бит flagg изменяется в прерывании.
uni.bits.toggle += 1; // 1-0-1-0... Хочу мигать.
LDI R16,0x20
IN R17,uni
EOR R17,R16 // здесь прерывание вызвалось и изменило flagg.
OUT uni,R17 // а здесь я непроизвольно возвратил старый flag