ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
25 апреля
1042060 Топик полностью
Kceния (04.10.2020 19:39, просмотров: 475) ответил teap0t на #15 Разбирая библиотеки обнаружил такой вид адресной арифметики. Насколько такой метод подходит/не_подходит под понятие "говнокод"? Имеем такой фрагмент (коменты мои): (UPD подправил слегка)
В CubeMX всюду одна и та же система: пользователь выражает свои требования путем заполнения полей соответствующий заданию структуры предназначенными для этой цели мнемониками. Типа анкету заполняет. А затем отсылает ее на исполнение соответствующей функции XXXXX_Init(эта структура). После чего функция инициализации либо выполнит требования пользователя, либо откажется, вернув ошибку. Те случаи, когда внутри кода этой функции используется "косвенная адресация" относятся 

к тому случаю, когда имя регистра контроллера зависимо от требований пользователя. В вашем случае выбор между EXTI_IMR и EXTI_IMR был зависим от содержимого поля структуры EXTI_Mode, а потому в коде нельзя было поставить имя регистра явно, а пришлось использовать смещение. А вот использование регистров EXTI_RTSR и EXTI_FTSR от требований пользователя независимо, оттого-то их имена указаны явно.