Zephyr API Documentation 4.2.99
A Scalable Open Source RTOS
 4.2.99
intc_exti_stm32.h File Reference
#include <zephyr/types.h>

Go to the source code of this file.

Enumerations

enum  stm32_exti_trigger_type { STM32_EXTI_TRIG_NONE = 0x0 , STM32_EXTI_TRIG_RISING = 0x1 , STM32_EXTI_TRIG_FALLING = 0x2 , STM32_EXTI_TRIG_BOTH = 0x3 }
 STM32 EXTI interrupt controller API. More...
enum  stm32_exti_mode { STM32_EXTI_MODE_IT = 0x0 , STM32_EXTI_MODE_EVENT = 0x1 , STM32_EXTI_MODE_BOTH = 0x2 , STM32_EXTI_MODE_NONE = 0x3 }
 EXTI line mode. More...

Functions

int stm32_exti_enable (uint32_t line_num, stm32_exti_trigger_type trigger, stm32_exti_mode mode)
 Enable EXTI line.
int stm32_exti_disable (uint32_t line_num)
 Disable EXTI line.
bool stm32_exti_is_pending (uint32_t line_num)
 Checks interrupt pending bit for specified EXTI line.
int stm32_exti_clear_pending (uint32_t line_num)
 Clears interrupt pending bit for specified EXTI line.
int stm32_exti_sw_interrupt (uint32_t line_num)
 Generates SW interrupt for specified EXTI line number.

Enumeration Type Documentation

◆ stm32_exti_mode

EXTI line mode.

Enumerator
STM32_EXTI_MODE_IT 
STM32_EXTI_MODE_EVENT 
STM32_EXTI_MODE_BOTH 
STM32_EXTI_MODE_NONE 

◆ stm32_exti_trigger_type

STM32 EXTI interrupt controller API.

This API is used to interact with STM32 EXTI interrupt controller

EXTI interrupt trigger type

Enumerator
STM32_EXTI_TRIG_NONE 
STM32_EXTI_TRIG_RISING 
STM32_EXTI_TRIG_FALLING 
STM32_EXTI_TRIG_BOTH 

Function Documentation

◆ stm32_exti_clear_pending()

int stm32_exti_clear_pending ( uint32_t line_num)

Clears interrupt pending bit for specified EXTI line.

Parameters
line_numEXTI line number
Returns
0 on success, -EINVAL if line is invalid

◆ stm32_exti_disable()

int stm32_exti_disable ( uint32_t line_num)

Disable EXTI line.

After this function has been called, EXTI line line_num will not generate further interrupts or events.

Parameters
line_numEXTI line number
Returns
0 on success, -EINVAL if line is invalid

◆ stm32_exti_enable()

int stm32_exti_enable ( uint32_t line_num,
stm32_exti_trigger_type trigger,
stm32_exti_mode mode )

Enable EXTI line.

Note
The caller driver is responsible for registering an ISR and enabling the corresponding interrupt if MODE_IT is selected.
Parameters
line_numEXTI line number
triggerEXTI trigger type (see stm32_exti_trigger_type)
modeEXTI mode (see stm32_exti_mode)
Returns
0 on success, -EINVAL if line_num is invalid

◆ stm32_exti_is_pending()

bool stm32_exti_is_pending ( uint32_t line_num)

Checks interrupt pending bit for specified EXTI line.

Parameters
line_numEXTI line number
Returns
true if line is pending, false otherwise

◆ stm32_exti_sw_interrupt()

int stm32_exti_sw_interrupt ( uint32_t line_num)

Generates SW interrupt for specified EXTI line number.

Parameters
line_numEXTI line number
Returns
0 on success, -EINVAL if line is invalid