Andreas (11.05.2023 19:19, просмотров: 105) ответил Nikolay_Po на Насчёт траты лишних тактов: а как ты сделаешь модификацию избранных
бит регистра, не меняя неизвестные остальные биты? Такое часто
встречается. Я оптимизирую так там, где можно записать регистр
целиком за раз, когда нет неизвестных бит, которые надо сохранить -
пишу сразу. Но в универсальном коде, каким является сабж, ты не
имеешь права менять других бит, так как не ты их устанавливал и
предысторией не владеешь. Поэтому и сброс/установка через
маскирование.
В большинстве случаев инициализации периферии вполне можно и даже
желательно писать весь регистр, чтобы получить гарантированное
состояние. Но в примерах и библиотеках очень часто по одной функции
ставят и вместо одной прямой записи несколько модификаций. А
предысторией не владеешь обычно во всяких регистрах включения
тактирования, питания...., их не так много.