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
-
Vrací aktuální verzi modulu EXTI.exti_ModuleVersion_t Exti_Get_ModuleVersion ( void );
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
Taskby 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
- Mr.Nobody — embedbits.com
Příspěvky jsou vítány! Otevřete prosím pull request.