Цитата(alt3857 @ Mar 10 2012, 09:01)

Привет. Возникли сомнения по поводу атомарности операции bit-banding. Во всех доках пишут, что данная операция обеспечивает атомарный доступ к битам периферии и RAM, но
компилятор Keil генерирует три инструкции:
MOV r0,#0x01
LDR r1,[pc,#28] ; @0x000012D4
STR r0,[r1,#0x64]
А если между ними произойдет прерывание?
имеется ввиду атомарность операции str. Ибо адрес и само значение может быть загружено заранее.
Авот если без битбанга, то тогда сложнее -
ldr r1, [r2]
orr r1,#1
str r1, [r2]
во втором регистре адрес порта.
т.е. атомарной должно быть чтение-модификация-запись.