STM32F10x Standard Peripherals Library (STM32F10x Standard Peripherals Library)
В статье не хватает ссылок на источники (см. рекомендации по поиску). |
STM32F10x Standard Peripherals Library (сокр. STM32F10x SPL) — библиотека, созданная компанией STMicroelectronics на языке Си для своих микроконтроллеров семейства STM32F10x. Содержит функции, структуры и макросы для облегчения работы с периферией микроконтроллера. Библиотека документирована, включает примеры по каждому периферийному устройству, полностью поддерживает CMSIS (код ядра Cortex-M3[1], разработанный компанией ARM, включается в дистрибутив). Дистрибутив библиотеки доступен для бесплатного скачивания (21 МБ). Последняя версия библиотеки: 3.5.0.
Причем в неё включена библиотека ARM CMSIS версии 1.30, в то время как последняя версия CMSIS, выпущенная компанией ARM на данный момент, является 3.01. С версии 1.30, в CMSIS было сделано несколько важных исправлений [2], включая исправление ошибки "registers may not be the same -- `strexh r0,r0,[r1]'". Для устранения этой и других ошибок рекомендуется самостоятельно обновить CMSIS.
Соглашения об именах
[править | править код]- PPP — обозначение периферийного устройства, например ADC (аналого-цифровой преобразователь)
- Файлы исходного кода библиотеки начинаются с приставки stm32f10x_.
- Имена констант прописаны заглавными буквами. Если константа используется в единственном файле, то она определяется в этом файле. Константа, используемая в более, чем одном файле, определяются в заголовочном файле.
- Имена регистров, как и констант, прописаны заглавными буквами. Регистры именуются так же, как в документации на микроконтроллеры.
- Имена функций начинаются с PPP, после чего идет одно подчеркивание. Далее идут слитные слова, начинающиеся с заглавных букв. Например: USART_SendData().
- Для настройки периферии PPP используется функция PPP_Init(), в которую передается указатель на структуру типа PPP_InitTypeDef, содержащую настройки периферии.
- Функция PPP_DeInit() сбрасывает регистры периферии в их начальное состояние.
- Функция PPP_StructInit() заполняет поля структуры типа PPP_InitTypeDef значениями по умолчанию, которые описывают начальное состояние периферии (состояние после сброса).
- Функция PPP_Cmd() включает или отключает периферию.
- Функция PPP_ITConfig() включает или отключает прерывания.
- Функция PPP_DMAConfig() включает или отключает DMA-интерфейс.
- Функции, оканчивающиеся на Config, настраивают отдельные функции периферии. Например GPIO_PinRemapConfig().
- Функция PPP_GetFlagStatus() служит для получения состояния флагов.
- Функция PPP_ClearFlag() сбрасывает флаги.
- Функция PPP_GetITStatus() сообщает о том произошло ли прерывание или нет.
- Функция PPP_ClearITPendingBit() сбрасывает бит захвата прерывания.
На эту статью не ссылаются другие статьи Википедии. |