Микропроцессорные средства и системы управления: учебное пособие / А. В. Мануковский, А. Ж. Саринова.

источников прерывания. Из названия функций видно, что первая настраивает вывод микроконтроллера для управления светодиодом, а вторая настраивает вывод микроконтроллера для управления кнопкой. Рассмотрим более подробно данные функции, находящиеся в файле stm32vldiscovery.c. Для быстрого перехода к реализации функции STM32vldiscovery LEDInit(LED3) можно кликнуть правой кнопкой компьютерной мыши на имени функции и в выпадающем меню также кликнуть Go to definition o f имя функции; void STM32vldiscovery_LEDInit(Led_TypeDef Led) { // Объявление структуры GPIOInitTypeDef GPIOInitStructure; // Разрешение тактирования модуля(ІІСС АРВ2Регірһ СРІОС) RCC_APB2PeriphClockCmd(GPIO_CLK[Led], ENABLE); // Установка вывода для дальнейшего использованHa(GPIO_Pin_9) GPIO InitStructure.GPIO Pin = GPIO PIN[Led]; // Настройка вывода на выход push-pull GPIOInitStructure.GPIOMode = GPIO Mode Out PP; // Настройка частоты переключения вывода GPIO InitStructure.GPIO Speed = GPIO _Speed 50MHz; // Передача структуры - применение параметров GPIO_Init(GPIO_PORT[Led], &GPIO InitStructure); } Итак, для настройки ножки ввода-вывода сначала объявляется структура данных типа GPIO InitTypeDef, далее заполняются ее поля, и эта структура с помощью функции GPIOInitO «накладывается» на регистры периферийного модуля GPIO и, соответственно, настраивает модуль. Функция STM32vldiscovery_PBInit(BUTTON_USER, BUTTON MODE EXTI) имеет более сложную реализацию, так как в ней настраиваются ножка микроконтроллера и внешнее прерывание на этой же ножке: void STM32vldiscovery_PBInit(Button TypeDef Button, ВuttonMo d e T ypeDef ButtonMode) { // Объявление структуры модуля GPIO

RkJQdWJsaXNoZXIy MTExODQxMg==