47 lines
1.3 KiB
C
Executable File
47 lines
1.3 KiB
C
Executable File
#ifndef REG_NVIC_H
|
|
#define REG_NVIC_H
|
|
#include "stm32u5xx.h"
|
|
|
|
/// @brief enable uart interrupt
|
|
/// @param[in] uart: uart instance
|
|
static inline void nvic_enable_uart_irq(USART_TypeDef *uart) {
|
|
if (uart == USART1) NVIC_EnableIRQ(USART1_IRQn);
|
|
else if (uart == USART2) NVIC_EnableIRQ(USART2_IRQn);
|
|
else if (uart == USART3) NVIC_EnableIRQ(USART3_IRQn);
|
|
else if (uart == UART4) NVIC_EnableIRQ(UART4_IRQn);
|
|
else if (uart == UART5) NVIC_EnableIRQ(UART5_IRQn);
|
|
}
|
|
|
|
/// @brief enable i2c interrupt
|
|
/// @param[in] i2c: i2c instance
|
|
static inline void nvic_enable_i2c_irq(I2C_TypeDef *i2c) {
|
|
if (i2c == I2C1) {
|
|
NVIC_EnableIRQ(I2C1_EV_IRQn);
|
|
NVIC_EnableIRQ(I2C1_ER_IRQn);
|
|
} else if (i2c == I2C2) {
|
|
NVIC_EnableIRQ(I2C2_EV_IRQn);
|
|
NVIC_EnableIRQ(I2C2_ER_IRQn);
|
|
} else if (i2c == I2C3) {
|
|
NVIC_EnableIRQ(I2C3_EV_IRQn);
|
|
NVIC_EnableIRQ(I2C3_ER_IRQn);
|
|
}
|
|
}
|
|
|
|
/// @brief enable dcmi interrupt
|
|
/// @param[in] dcmi: dcmi instance
|
|
static inline void nvic_enable_dcmi_irq(DCMI_TypeDef *dcmi) {
|
|
NVIC_EnableIRQ(DCMI_PSSI_IRQn);
|
|
}
|
|
|
|
/// @brief enable dma interrupt
|
|
/// @param[in] dma: dma instance
|
|
static inline void nvic_enable_dma_irq(DMA_Channel_TypeDef *dma) {
|
|
NVIC_EnableIRQ(GPDMA1_Channel0_IRQn);
|
|
}
|
|
|
|
static inline void nvic_enable_adc_irq(){
|
|
NVIC_EnableIRQ(ADC1_IRQn);
|
|
}
|
|
|
|
#endif // REG_NVIC_H
|