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);