ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
18 августа
1532127 Топик полностью
LightElf (22.07.2025 18:51, просмотров: 108) ответил Nikolay_Po на А есть ли у ARM Cortex подходящие инструкции, чтобы сделать модификацию? Вроде бы нет, раз уж они для сброса и установки бит выходов GPIO сделали разные регистры.
Нет таких инструкций. На то он и RISC, чтобы голый load-store. Для GPIO, как вы заметили, часто есть спецуевые регистры BSR/BRR/BSRR, чтобы одной записью установить-сбросить группу битов. Для остальных регистров надо извращаться тем или иным способом. Например: если часть битов фиксирована, а часть меняется - то можно просто писать новое значение. Типа такого: 
#define IER_DEF_VAL (UART_IER_TXD_EN | UART_IER_RECV_READY)
.....
uart_ptr->IER = IER_DEF_VAL | UART_IER_DTR_EN;
.....
uart_ptr->IER = IER_DEF_VAL;
Не надо делать мне как лучше, оставьте мне как хорошо