Цитата(Golikov A. @ Jul 25 2014, 01:16)

вопрос за сколько тактов... судя по описанию за 1. И даже если не за один, то гарантированно прерывание не влезет в процесс, операция атомарна. Но что-то мне говорит что за 1 такт это делается...
Минимум три такта системной частоты на read-modify-write плюс такты работы с памятью/периферией (выставление адреса, ожидание выставления данных и т.д.), на это время системная шина будит заблокирована, но выполнение команд продолжится(если не требуется доступ к шине иначе ядро будит ждать). Для программы операция на 100% атомрная и вероятно выполняется за один такт (т.к. не нужно ждать доступа к памяти/периферии).
Цитата(ViKo @ Jul 25 2014, 10:30)

С атомарностью ничего не делать, пользоваться.
Битбэнд быстрее, если обращаться к порту через ODR, но есть еще BSRR, безо всякого чтения-модификации-записи.
BSRR в К1986ВЕ92 к сожалению нет.
Сообщение отредактировал rus61 - Jul 25 2014, 08:01