Перейти до основного вмісту

Модуль EXTI MCAL

Підтримувані родини STM32: G4 · H5 · U5
Не підтримуються: H7, L4

Модуль EXTI (External Interrupt) MCAL надає рівень абстракції для керування лініями зовнішніх переривань в мікроконтролерах STM32.
Цей модуль є частиною рівня MCAL і забезпечує уніфікований API для різних родин STM32.
Різні родини підтримуються в окремих гілках; користувачі можуть перейти на гілку, що відповідає їхній родині MCU.


Можливості​

  • Ініціалізація та деініціалізація периферії EXTI
  • Обробник завдань для періодичного обслуговування
  • Підтримка отримання конфігурації за замовчуванням
  • Стандартизовані значення стану запиту, що повертаються
  • Підтримка версіонування для керування модулями

Публічний API​

Інформація про модуль​

  • exti_ModuleVersion_t Exti_Get_ModuleVersion ( void );
    Повертає поточну версію модуля EXTI.

Ініціалізація​

- 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.


Автори​

Внески вітаються! Будь ласка, відкрийте pull request.


🌐 Корисні посилання​