29 lines
846 B
C
29 lines
846 B
C
//
|
|
// Created by Luca on 10/8/2025.
|
|
//
|
|
|
|
#ifndef SHMINGO_HAL_SHAL_EXTI_REG_L432KC_H
|
|
#define SHMINGO_HAL_SHAL_EXTI_REG_L432KC_H
|
|
|
|
#include "SHAL_CORE.h"
|
|
#include "SHAL_EXTI_TYPES.h"
|
|
|
|
#define EXTI_PENDING_REG(line) ((line) < 32 ? EXTI->PR1 : EXTI->PR2)
|
|
|
|
static inline SHAL_EXTI_Interrupt_Mask_Register getEXTIInterruptMaskRegister(uint32_t line){
|
|
uint32_t imr = line < 32 ? EXTI->IMR1 : EXTI->IMR2;
|
|
return {&imr};
|
|
}
|
|
|
|
static inline SHAL_EXTI_Rising_Trigger_Selection_Register getEXTIRisingTriggerSelectionRegister(uint32_t line){
|
|
auto reg = line < 32 ? EXTI->RTSR1 : EXTI->RTSR2;
|
|
return {®};
|
|
}
|
|
|
|
static inline SHAL_EXTI_Falling_Trigger_Selection_Register getEXTIFallingTriggerSelectionRegister(uint32_t line){
|
|
auto reg = line < 32 ? EXTI->FTSR1 : EXTI->FTSR2;
|
|
return {®};
|
|
}
|
|
|
|
#endif //SHMINGO_HAL_SHAL_EXTI_REG_L432KC_H
|