Учитывая это, на ARM Cortex M3 я могу:
- атомарно прочитать один бит
- атомарно установить один бит
- атомарно очистить один бит
Как я могу объединить их для набора операций в стиле мьютекса:
try lock
take lock
release lock
Кажется, что try_lock или take_lock потребуют двух операций, которые не будут атомарными.
Нужен ли мне больший контроль для этого? Отключение глобальных прерываний сделало бы это, но, похоже, нужен более хирургический подход.