кстати это фокус работает со структурами можно вместо типичного кубовского
LL_GPIO_InitTypeDef GPIO_InitStruct = {0};
GPIO_InitStruct.Pin = LL_GPIO_PIN_1;
GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE;
GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_HIGH;
GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL;
LL_GPIO_Init(GPIOB, &GPIO_InitStruct);
написать
LL_GPIO_Init(GPIOB, &(LL_GPIO_InitTypeDef) {
LL_GPIO_PIN_1,
LL_GPIO_MODE_ALTERNATE,
LL_GPIO_SPEED_FREQ_HIGH,
LL_GPIO_OUTPUT_PUSHPULL,
LL_GPIO_PULL_DOWN});
или для параноиков
LL_GPIO_Init(GPIOB, &(LL_GPIO_InitTypeDef) {
.Pin =LL_GPIO_PIN_1,
.Mode =LL_GPIO_MODE_ALTERNATE,
.Speed =LL_GPIO_SPEED_FREQ_HIGH,
.OutputType =LL_GPIO_OUTPUT_PUSHPULL,
.Pull =LL_GPIO_PULL_DOWN});
Но, ахтунг! В плюсах этот прекрасный код превращается в тыкву.