GPIO (General-Purpose Input/Output) - это универсальные порты ввода/вывода, которые могут быть настроены как входы или выходы и использоваться для управления различными устройствами. В микроконтроллере STM32 GPIO могут быть настроены для многих различных приложений, таких как управление светодиодами, кнопками, дисплеями и другими периферийными устройствами.
Каждый GPIO порт в микроконтроллере STM32 имеет свой собственный номер и может быть настроен на работу в различных режимах. Например, с помощью регистров настройки можно установить режим работы порта, например, вход или выход, установить режимы работы светодиодов, задать положительную или отрицательную логику управления и т.д.
Также можно настроить встроенные подтягивающие резисторы или подключить внешние резисторы для обеспечения нужного уровня логического сигнала.
Для работы с GPIO в микроконтроллере STM32 нужно выполнить следующие шаги:
Пример кода на языке С для настройки GPIO порта в микроконтроллере STM32:

В данном примере настраивается порт GPIOA.5 на работу в режиме выхода с частотой 50 МГц и устанавливается логический 1 на этом порту с помощью функции GPIO_SetBits(). Далее происходит бесконечный цикл.