Когда мы делаем STM32развиваем,Ведь лишь немногие люди используют регистры для развития.,Большинство людей до сих пор привыкли использовать библиотечные функции для улучшения. до сих пор,Есть стандартные периферийные библиотеки, библиотека HAL、библиотека ЛЛ Три типа. В этой статье будут выделены следующие три библиотеки государственных должностей, чтобы каждому было легче их различать.
стандартная библиотека(Standard Peripheral Library) — самая базовая библиотека, предоставляемая STMicroelectronics. Он обеспечивает прямой доступ к регистрам низкого уровня и периферийным устройствам микроконтроллера STM32. стандартная Целью разработки библиотеки является обеспечение высокой степени гибкости и низкоуровневого аппаратного обеспечения. контроль обеспечения для удовлетворения жестких требований к производительности и ресурсам. Используйте стандартную библиотека, развитие персонал может напрямую манипулировать регистрами для настройки и управления функциями микроконтроллера, но большой объем низкоуровневого кода необходимо писать вручную. стандартная библиотека подходит для приложений с повышенными требованиями к производительности и проектов, предъявляющих строгие требования к размеру кода и эффективности.
библиотека HAL(Hardware Abstraction Layer) — это библиотека, представленная STMicroelectronics для обеспечения более высокого уровня абстракции и простоты. библиотека HALна основестандартная библиотеку и предоставляет набор функций API, лежащих в основе аппаратного обеспечения. Операции обеспечения абстрагируются в вызовы функций высокого уровня. Таким образом, специалисты по разработке могут использовать API-функцию более высокого уровня для настройки и управления функциями микроконтроллера без прямого манипулирования регистрами низкого уровня. библиотека HAL обеспечивает более удобную и переносимую модель программирования и сокращает усилия по написанию низкоуровневого кода. Он также поддерживает различные интеллектуальные платы и периферийные устройства, обеспечивает согласованный интерфейс и упрощает перенос и повторное использование кода. библиотека HAL подходит для большинства приложений, особенно для проектов средней сложности.
библиотека ЛЛ(Low-Level Библиотека) находится в библиотеке STMicroelectronics. Библиотека нижнего уровня, предоставляемая поверх HAL. библиотека ЛЛ обеспечивает более прямой доступ к низкоуровневым регистрам и периферийным устройствам и предоставляет набор низкоуровневых API-функций. библиотека ЛЛ сохраняет больше аппаратного обеспечение деталей, предоставление персоналу более высокого уровня гибкости и контроля. Использовать библиотеку ЛЛ,развивать персонал может напрямую писать код нижнего уровня для достижения точного управления микроконтроллерами и периферийными устройствами. библиотека ЛЛ подходит для чрезвычайно высоких требований по производительности и ресурсам, а также к базовому аппаратному обеспечению. программное обеспечение Управление приложениями с особыми потребностями.
В этих трех библиотеках,Порядок появления: стандартная библиотека — библиотеки HAL — библиотеки ЛЛ., так что если ты онлайн см. библиотеку Программа, написанная ЛЛ, вероятно, была недавно завершена, см. стандартную библиотека, может быть, из более ранней. Официальное сравнение этих библиотек выглядит следующим образом:
библиотека Хотя HAL обладает лучшей переносимостью, у него также больше всего проблем. Например, при отправке и получении через последовательный порт из-за библиотеки Блокировка мьютекса, используемая для приема прерываний и передачи по последовательному порту в HAL, одинакова, поэтому хороший полнодуплексный режим станет полудуплексным. И стандартная библиотекаибиблиотека У ЛЛ нет этой проблемы. Подобных вопросов еще много, но библиотека HAL действительно является наиболее эффективным. Конкретные эффекты использования могут варьироваться от человека к человеку.
STпредоставилстандартная библиотека、библиотека HALибиблиотека Каждая ЛЛ имеет свои преимущества и особенности. Если это давно пересаженный проект, велика вероятность, что будет использована стандартная. библиотека. Если у вас новый проект и вы используете STM32CubeMX, вы должны использовать библиотеку HALибиблиотека ЛЛ. Личное предложение, теперь лучше использовать библиотеку HAL+библиотека ЛЛ проводит разработку, потому что это официальная рекомендуемая библиотека, а CubeMX действительно очень полезный инструмент, и есть только библиотека HALибиблиотека ЛЛ。библиотека HAL быстро развивается,библиотека ЛЛразвивать стабилен и может использоваться вместе.