STM32库函数详解----(外部中断/事件控制器 EXTI)

1.void EXTI_DeInit  (void)

函数解释:将EXTI外设寄存器重置为默注释。RCC_APB2PeriphResetCmd参数中没有EXTI外设的的宏,该外设重置采取的是直接向寄存器赋默认值的操作。

例子:EXTI_DeInit ( );

2.void EXTI_Init (EXTI_InitTypeDef*EXTI_InitStruct)

函数解释:根据EXTI_InitStruct结构体中所配置的参数来初始化外设EXTI寄存器。结构体中模式成员设置了被使能线路是事件请求还是中断请求。

例子:EXTI_Init  (&EXTI_InitStruct);

EXTI_Line

EXTI_Line选择了待使能或失能的线路。

EXTI_Linex:外部中断线x(0-18)。

EXTI_Mode

EXTI_Mode设置了被使能线路的模式。

EXTI_Mode_Event:设置EXTI线路为事件请求。

EXTI_Mode_Interrupt:设置EXTI线路为中断请求。

EXTI_Trigger

EXTI_Trigger设置了被使能线路的触发边沿。

EXTI_Trigger_Falling:设置输入线路的下降沿为中断请求。

EXTI_Trigger_Rising:设置输入线路的上升沿为中断请求。

EXTI_Trigger_Rising_Falling:设置输入线路的上升和下降沿为中断请求。

EXTI_LineCmd

EXTI_LineCmd用来定义选中线路的新状态。它可以被设为ENABLE或者DISABLE。

3.void EXTI_StructInit (EXTI_InitTypeDef*EXTI_InitStruct)

函数解释:将EXTI_InitStruct结构体中各成员按照默认值填充。只填充了结构体,还没有将参数写入到寄存器中(xxx_Init)。

例子:EXTI_StructInit  (&EXTI_InitStruct);

温馨提示EXTI_InitStruct的默认值如下

EXTI_Line:EXTI_LineNone

EXTI_Mode:EXTI_Mode_Interrupt      

EXTI_Trigger:EXTI_Trigger_Falling

 EXTI_LineCmd:DISABLE

4.void EXTI_GenerateSWInterrupt (uint32_t  EXTI_Line)

函数解释:产生一个软件中断。

例如:EXTI_GenerateSWInterrupt(EXTI_Line6);

5.FlagStatus EXTI_GetFlagStatus (uint32_t  EXTI_Line)

函数解释:检查指定的外部中断线的标志是否被置位。

注释:该函数没有检查EXTI_IMR和EXTI_EMR状态,它只是纯粹读取中断标志位的状态,但是不一定会响应中断

            中断发生有两个条件,一是中断标志位置位,二是中断允许。

例如:FlagStatus  EXTIStatus;

            EXTIStatus= EXTI_GetFlagStatus ( EXTI_Line6)

6.void EXTI_ClearFlag(uint32_t  EXTI_Line)

函数解释:清除EXTI线路的挂起标志位。

例如:EXTI_ClearFlag(EXTI_Line6);

7.ITStatus EXTI_GetITStatus(uint32_t  EXTI_Line)

函数解释:检查指定外部中断线的状态是否有效,检查中断状态,检查中断是否发生。

例如:ITStatus  EXTIStatus;

            EXTIStatus= EXTI_GetITStatus ( EXTI_Line6);

8.void EXTI_ClearITPendingBit(uint32_t  EXTI_Line)

函数解释:清除EXTI线路的挂起位。

例如:EXTI_ClearITPendingBit(EXTI_Line6);

猜你喜欢

转载自blog.csdn.net/niuyuce/article/details/84875764