Firmware SDK
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
bc_exti

Driver for EXTI (external interrupts) More...

Enumerations

enum  bc_exti_line_t {
  BC_EXTI_LINE_PA0 = _BC_EXTI_PORT_A | 0,
  BC_EXTI_LINE_PA1 = _BC_EXTI_PORT_A | 1,
  BC_EXTI_LINE_PA2 = _BC_EXTI_PORT_A | 2,
  BC_EXTI_LINE_PA3 = _BC_EXTI_PORT_A | 3,
  BC_EXTI_LINE_PA4 = _BC_EXTI_PORT_A | 4,
  BC_EXTI_LINE_PA5 = _BC_EXTI_PORT_A | 5,
  BC_EXTI_LINE_PA6 = _BC_EXTI_PORT_A | 6,
  BC_EXTI_LINE_PA7 = _BC_EXTI_PORT_A | 7,
  BC_EXTI_LINE_PA8 = _BC_EXTI_PORT_A | 8,
  BC_EXTI_LINE_PA9 = _BC_EXTI_PORT_A | 9,
  BC_EXTI_LINE_PA10 = _BC_EXTI_PORT_A | 10,
  BC_EXTI_LINE_PA11 = _BC_EXTI_PORT_A | 11,
  BC_EXTI_LINE_PA12 = _BC_EXTI_PORT_A | 12,
  BC_EXTI_LINE_PA13 = _BC_EXTI_PORT_A | 13,
  BC_EXTI_LINE_PA14 = _BC_EXTI_PORT_A | 14,
  BC_EXTI_LINE_PA15 = _BC_EXTI_PORT_A | 15,
  BC_EXTI_LINE_PB0 = _BC_EXTI_PORT_B | 0,
  BC_EXTI_LINE_PB1 = _BC_EXTI_PORT_B | 1,
  BC_EXTI_LINE_PB2 = _BC_EXTI_PORT_B | 2,
  BC_EXTI_LINE_PB3 = _BC_EXTI_PORT_B | 3,
  BC_EXTI_LINE_PB4 = _BC_EXTI_PORT_B | 4,
  BC_EXTI_LINE_PB5 = _BC_EXTI_PORT_B | 5,
  BC_EXTI_LINE_PB6 = _BC_EXTI_PORT_B | 6,
  BC_EXTI_LINE_PB7 = _BC_EXTI_PORT_B | 7,
  BC_EXTI_LINE_PB8 = _BC_EXTI_PORT_B | 8,
  BC_EXTI_LINE_PB9 = _BC_EXTI_PORT_B | 9,
  BC_EXTI_LINE_PB10 = _BC_EXTI_PORT_B | 10,
  BC_EXTI_LINE_PB11 = _BC_EXTI_PORT_B | 11,
  BC_EXTI_LINE_PB12 = _BC_EXTI_PORT_B | 12,
  BC_EXTI_LINE_PB13 = _BC_EXTI_PORT_B | 13,
  BC_EXTI_LINE_PB14 = _BC_EXTI_PORT_B | 14,
  BC_EXTI_LINE_PB15 = _BC_EXTI_PORT_B | 15,
  BC_EXTI_LINE_PC13 = _BC_EXTI_PORT_C | 13,
  BC_EXTI_LINE_PC14 = _BC_EXTI_PORT_C | 14,
  BC_EXTI_LINE_PC15 = _BC_EXTI_PORT_C | 15,
  BC_EXTI_LINE_PH0 = _BC_EXTI_PORT_H | 0,
  BC_EXTI_LINE_PH1 = _BC_EXTI_PORT_H | 1,
  BC_EXTI_LINE_P0 = BC_EXTI_LINE_PA0,
  BC_EXTI_LINE_P1 = BC_EXTI_LINE_PA1,
  BC_EXTI_LINE_P2 = BC_EXTI_LINE_PA2,
  BC_EXTI_LINE_P3 = BC_EXTI_LINE_PA3,
  BC_EXTI_LINE_P4 = BC_EXTI_LINE_PA4,
  BC_EXTI_LINE_P5 = BC_EXTI_LINE_PA5,
  BC_EXTI_LINE_P6 = BC_EXTI_LINE_PB1,
  BC_EXTI_LINE_P7 = BC_EXTI_LINE_PA6,
  BC_EXTI_LINE_P8 = BC_EXTI_LINE_PB0,
  BC_EXTI_LINE_P9 = BC_EXTI_LINE_PB2,
  BC_EXTI_LINE_P10 = BC_EXTI_LINE_PA10,
  BC_EXTI_LINE_P11 = BC_EXTI_LINE_PA9,
  BC_EXTI_LINE_P12 = BC_EXTI_LINE_PB14,
  BC_EXTI_LINE_P13 = BC_EXTI_LINE_PB15,
  BC_EXTI_LINE_P14 = BC_EXTI_LINE_PB13,
  BC_EXTI_LINE_P15 = BC_EXTI_LINE_PB12,
  BC_EXTI_LINE_P16 = BC_EXTI_LINE_PB8,
  BC_EXTI_LINE_P17 = BC_EXTI_LINE_PB9,
  BC_EXTI_LINE_BUTTON = BC_EXTI_LINE_PA8
}
 EXTI lines. More...
 
enum  bc_exti_edge_t {
  BC_EXTI_EDGE_RISING = 0,
  BC_EXTI_EDGE_FALLING = 1,
  BC_EXTI_EDGE_RISING_AND_FALLING = 2
}
 Interrupt edge sensitivity. More...
 

Functions

void bc_exti_register (bc_exti_line_t line, bc_exti_edge_t edge, void(*callback)(bc_exti_line_t, void *), void *param)
 Enable EXTI line interrupt and register callback function. More...
 
void bc_exti_unregister (bc_exti_line_t line)
 Disable EXTI line interrupt. More...
 

Detailed Description

Driver for EXTI (external interrupts)

Enumeration Type Documentation

Interrupt edge sensitivity.

Enumerator
BC_EXTI_EDGE_RISING 

EXTI line is configured to rising edge sensitivity.

BC_EXTI_EDGE_FALLING 

EXTI line is configured to falling edge sensitivity.

BC_EXTI_EDGE_RISING_AND_FALLING 

EXTI line is configured to both rising and falling edge sensitivity.

Definition at line 195 of file bc_exti.h.

EXTI lines.

Enumerator
BC_EXTI_LINE_PA0 

EXTI line PA0.

BC_EXTI_LINE_PA1 

EXTI line PA1.

BC_EXTI_LINE_PA2 

EXTI line PA2.

BC_EXTI_LINE_PA3 

EXTI line PA3.

BC_EXTI_LINE_PA4 

EXTI line PA4.

BC_EXTI_LINE_PA5 

EXTI line PA5.

BC_EXTI_LINE_PA6 

EXTI line PA6.

BC_EXTI_LINE_PA7 

EXTI line PA7.

BC_EXTI_LINE_PA8 

EXTI line PA8.

BC_EXTI_LINE_PA9 

EXTI line PA9.

BC_EXTI_LINE_PA10 

EXTI line PA10.

BC_EXTI_LINE_PA11 

EXTI line PA11.

BC_EXTI_LINE_PA12 

EXTI line PA12.

BC_EXTI_LINE_PA13 

EXTI line PA13.

BC_EXTI_LINE_PA14 

EXTI line PA14.

BC_EXTI_LINE_PA15 

EXTI line PA15.

BC_EXTI_LINE_PB0 

EXTI line PB0.

BC_EXTI_LINE_PB1 

EXTI line PB1.

BC_EXTI_LINE_PB2 

EXTI line PB2.

BC_EXTI_LINE_PB3 

EXTI line PB3.

BC_EXTI_LINE_PB4 

EXTI line PB4.

BC_EXTI_LINE_PB5 

EXTI line PB5.

BC_EXTI_LINE_PB6 

EXTI line PB6.

BC_EXTI_LINE_PB7 

EXTI line PB7.

BC_EXTI_LINE_PB8 

EXTI line PB8.

BC_EXTI_LINE_PB9 

EXTI line PB9.

BC_EXTI_LINE_PB10 

EXTI line PB10.

BC_EXTI_LINE_PB11 

EXTI line PB11.

BC_EXTI_LINE_PB12 

EXTI line PB12.

BC_EXTI_LINE_PB13 

EXTI line PB13.

BC_EXTI_LINE_PB14 

EXTI line PB14.

BC_EXTI_LINE_PB15 

EXTI line PB15.

BC_EXTI_LINE_PC13 

EXTI line PC13.

BC_EXTI_LINE_PC14 

EXTI line PC14.

BC_EXTI_LINE_PC15 

EXTI line PC15.

BC_EXTI_LINE_PH0 

EXTI line PH0.

BC_EXTI_LINE_PH1 

EXTI line PH1.

BC_EXTI_LINE_P0 

EXTI line P0.

BC_EXTI_LINE_P1 

EXTI line P1.

BC_EXTI_LINE_P2 

EXTI line P2.

BC_EXTI_LINE_P3 

EXTI line P3.

BC_EXTI_LINE_P4 

EXTI line P4.

BC_EXTI_LINE_P5 

EXTI line P5.

BC_EXTI_LINE_P6 

EXTI line P6.

BC_EXTI_LINE_P7 

EXTI line P7.

BC_EXTI_LINE_P8 

EXTI line P8.

BC_EXTI_LINE_P9 

EXTI line P9.

BC_EXTI_LINE_P10 

EXTI line P10.

BC_EXTI_LINE_P11 

EXTI line P11.

BC_EXTI_LINE_P12 

EXTI line P12.

BC_EXTI_LINE_P13 

EXTI line P13.

BC_EXTI_LINE_P14 

EXTI line P14.

BC_EXTI_LINE_P15 

EXTI line P15.

BC_EXTI_LINE_P16 

EXTI line P16.

BC_EXTI_LINE_P17 

EXTI line P17.

BC_EXTI_LINE_BUTTON 

EXTI line BUTTON.

Definition at line 21 of file bc_exti.h.

Function Documentation

void bc_exti_register ( bc_exti_line_t  line,
bc_exti_edge_t  edge,
void(*)(bc_exti_line_t, void *)  callback,
void *  param 
)

Enable EXTI line interrupt and register callback function.

Parameters
[in]lineEXTI line
[in]edgeDesired interrupt edge sensitivity
[in]callbackFunction address (called when interrupt occurs)
[in]paramOptional parameter being passed to callback function (can be NULL)

Definition at line 17 of file bc_exti.c.

Referenced by bc_lis2dh12_set_alarm(), and bc_pulse_counter_init().

Here is the call graph for this function:

Here is the caller graph for this function:

void bc_exti_unregister ( bc_exti_line_t  line)

Disable EXTI line interrupt.

Parameters
[in]lineEXTI line

Definition at line 90 of file bc_exti.c.

Referenced by bc_lis2dh12_set_alarm(), bc_module_encoder_deinit(), and bc_spirit1_deinit().

Here is the call graph for this function:

Here is the caller graph for this function: