Начал знакомиться с микроконтроллерами STM32, пытаюсь простейший проект создать с управлением GPIO, но уже столкнулся с проблемами. После выполнения инструкции:
GPIOA->MODER = 0x3;
отваливается ST-LINK с ошибкой что не может подключиться к устройству. Проверял по шагам в отладчике, именно на этой строке всегда ломается. В чем тут может быть дело?
Привет, ST-Link подключается к PA13 и PA14, а ты этой командой перенастраиваешь в том числе и их. По умолчанию для GPIOA для работы SWD:
GPIOA->MODER = 0xA8000000;
Поэтому в такой форме надо делать так:
GPIOA->MODER = 0xA8000003;
А в целом лучше, конечно, использовать битовые маски.
Спасибо, проблема решилась после изменения на:
GPIOA->MODER = 0xA8000003;
Начинаю разбираться с масками.
@vitalij-stm32 https://microtechnics.ru/profilegrid_blogs/chast-5-stm32-i-c-iniczializacziya-gpio/#more-16749
Здесь описано как инициализировать порты. Если классы не нужны, всё равно можно понять как это работает. Там все регистры GPIO описаны.