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

сконфигурировать файл stm32fl0x_conf.h. Под конфигурацией файла stm32fl0x_conf.h подразумевается раскомментирование строчек с названием периферийного модуля, предполагаемого для использования. В нашем случае это строчка #include “stm32fl0x_gpio.li”. Обработка прерываний происходит в заголовочном файле и файле реализации stm32fl0x_it.li и stm32fl0x_it.c. Функции обработчиков прерывания не должны содержать параметров - void function(void). Если посмотреть файл stm32fl0x_it.h, то можно увидеть, что в нем уже написаны пустые обработчики прерывания, но тут имеются не все функции. Дополнительные имена функций обработчиков прерывания - это фактически адреса обработчиков прерывания. Их придется прописывать вручную, и эти имена уже объявлены в файле начальной инициализации. Этот файл мы рассмотрим далее более подробно. Вся периферия описана в структурах данных языка Си, которые и используются для конфигурации периферийного модуля. Функции и константы для периферийных модулей начинаются с префиксов, совпадающих с именем периферийного модуля. Например, имена функций для портов ввода-вывода - GPIO_Init(), GPIO_SetBits(), GPIO_ReadInputData() и константы - GPIOA, GPIO_Speed_50MHz, GPIO Pin 0. Для конфигурации периферийного модуля необходимо заполнить все поля структуры и далее передать структуру функции инициализации периферийного модуля. Например, для инициализации портов ввода-вывода необходимо объявить и заполнить поля структуры GPIOInitTypeDef и передать объявленное имя функции инициализации GPIO Init(... , ...). Все доступные функции для работы с периферийным модулем можно посмотреть в справке на библиотеку или в заголовочном файле. Для портов ввода-вывода это файл stm32fl0x_gpio.h. Большинство периферийных модулей имеют одинаковый набор функций, например (РРР - имя периферийного модуля): - PPP_DeInit(...) - установка всех регистров в начальное(после сброса)состояние; - РРР Init(...) - установка параметров через структуры данных; - PPP_Cmd(ENABLE/DISABLE) - разрешение/запрещение работы (не тактирование!);

RkJQdWJsaXNoZXIy MTExODQxMg==