Модуль EXTI MCAL
Підтримувані родини STM32: G4 · H5 · U5
Не підтримуються: H7, L4
Модуль EXTI (External Interrupt) MCAL надає рівень абстракції для керування лініями зовнішніх переривань в мікроконтролерах STM32.
Цей модуль є частиною рівня MCAL і забезпечує уніфікований API для різних родин STM32.
Різні родини підтримуються в окремих гілках; користувачі можуть перейти на гілку, що відповідає їхній родині MCU.
Можливості
- Ініціалізація та деініціалізація периферії EXTI
- Обробник завдань для періодичного обслуговування
- Підтримка отримання конфігурації за замовчуванням
- Стандартизовані значення стану запиту, що повертаються
- Підтримка версіонування для керування модулями
Публічний API
Інформація про модуль
-
Повертає поточну версію модуля EXTI.exti_ModuleVersion_t Exti_Get_ModuleVersion ( void );
Ініціалізація
- exti_RequestState_t Exti_Init ( exti_PeriphConfig_t * const extiConfig );
Ініціалізує периферію EXTI із наданою конфігурацією.
- exti_RequestState_t Exti_Deinit ( exti_PeriphConfig_t * const extiConfig );
Деініціалізує периферію EXTI і скидає конфігурацію.
- void Exti_Task ( void );
Обробляє періодичні завдання, пов'язані з EXTI (якщо цього вимагає реалізація).
- exti_RequestState_t Exti_Get_DefaultConfig ( exti_PeriphConfig_t * const extiConfig );
Отримує структуру конфігурації за замовчуванням для ініціалізації EXTI.
Примітки щодо використання
- Модуль EXTI залежить від апаратури і має налаштовуватися для кожної гілки родини STM32.
- API конфігурації за замовчуванням допомагає забезпечити безпечну ініціалізацію.
- Функцію
Taskслід викликати періодично, якщо реалізовано асинхронну обробку або фонове опрацювання.
🛠 Інтеграція з CMake
target_link_libraries(User_Lib PRIVATE Exti_Lib)
Ліцензія
Цей проєкт ліцензовано за Creative Commons Attribution–NonCommercial 4.0 International (CC BY-NC 4.0).
Ви вільні використовувати, змінювати та поширювати цю роботу в некомерційних цілях за умови належного зазначення авторства.
Повні умови дивіться у LICENSE.md або на creativecommons.org/licenses/by-nc/4.0.
Автори
- Mr.Nobody — embedbits.com
Внески вітаються! Будь ласка, відкрийте pull request.