Přeskočit na hlavní obsah

Modul MCAL EXTI

Podporované rodiny STM32: G4 · H5 · U5
Nepodporované: H7, L4

Modul MCAL EXTI (External Interrupt) poskytuje abstrakční vrstvu pro správu linek externích přerušení na mikrokontrolérech STM32.
Tento modul je součástí vrstvy MCAL a zajišťuje jednotné API napříč různými rodinami STM32.
Jednotlivé rodiny jsou udržovány v samostatných větvích; uživatelé se mohou přepnout na větev odpovídající jejich rodině MCU.


Vlastnosti​

  • Inicializace a deinicializace periferie EXTI
  • Obslužná funkce (task handler) pro periodické zpracování
  • Podpora získání výchozí konfigurace
  • Standardizované návratové hodnoty stavu požadavku
  • Podpora verzování pro správu modulů

Veřejné API​

Informace o modulu​

  • exti_ModuleVersion_t Exti_Get_ModuleVersion ( void );
    Vrací aktuální verzi modulu EXTI.

Inicializace​

- exti_RequestState_t Exti_Init ( exti_PeriphConfig_t * const extiConfig );

Inicializuje periferii EXTI se zadanou konfigurací.

- exti_RequestState_t Exti_Deinit ( exti_PeriphConfig_t * const extiConfig );

Deinicializuje periferii EXTI a resetuje konfiguraci.

- void Exti_Task ( void );

Obsluhuje periodické úlohy související s EXTI (pokud to implementace vyžaduje).

- exti_RequestState_t Exti_Get_DefaultConfig ( exti_PeriphConfig_t * const extiConfig );

Získá výchozí konfigurační strukturu pro inicializaci EXTI.


Poznámky k použití​

  • Modul EXTI je závislý na hardwaru a musí být konfigurován pro každou větev rodiny STM32 zvlášť.
  • API pro výchozí konfiguraci pomáhá zajistit bezpečnou inicializaci.
  • Funkce Task by se měla volat periodicky, pokud je implementováno asynchronní zpracování nebo zpracování na pozadí.

🛠 Integrace s CMake

target_link_libraries(User_Lib PRIVATE Exti_Lib)

Licence​

Tento projekt je licencován pod licencí Creative Commons Uveďte původ–Neužívejte komerčně 4.0 Mezinárodní (CC BY-NC 4.0).

Toto dílo můžete volně používat, upravovat a sdílet pro nekomerční účely za předpokladu, že uvedete odpovídající autorství.

Úplné podmínky najdete v LICENSE.md nebo navštivte creativecommons.org/licenses/by-nc/4.0.


Autoři​

Příspěvky jsou vítány! Otevřete prosím pull request.


🌐 Užitečné odkazy​