STM32F10x Standard Peripherals Library
![]() | В статье не хватает ссылок на источники (см. рекомендации по поиску). |
STM32F10x Standard Peripherals Library (сокр. STM32F10x SPL) — библиотека, созданная компанией STMicroelectronics на языке Си для своих микроконтроллеров семейства STM32F10x.
Описание
[править | править код]Содержит функции, структуры и макросы для облегчения работы с периферией микроконтроллера. Библиотека документирована, включает примеры по каждому периферийному устройству, полностью поддерживает CMSIS (код ядра Cortex-M3[1], разработанный компанией ARM, включается в дистрибутив). Дистрибутив библиотеки доступен для бесплатного скачивания. Начиная с версии библиотеки ARM CMSIS 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() сбрасывает бит захвата прерывания.
Примечания
[править | править код]- ↑ Cortex-M3 (англ.). keil.com.
- ↑ What is CMSIS? (англ.). keil.arm.com.
![]() | На эту статью не ссылаются другие статьи Википедии. |