EXTI
EXTI简介
EXTI:External interrupt/event controller 外部 中断/时间 控制器
EXTI功能框图
- 选择输入线
- 配置上升沿/下降沿触发选择寄存器
- 配置软件中断事件寄存器
- 配置中断屏蔽寄存器
- 配置NVIC中断控制器
输入线总共有19条(非互联型)
通过配置外部中断配置寄存器(AFIO_EXTICR1)来选择线路
PA0:EXTI0:0000
把KEY_UP配置为下拉输入;
如果没有按下,KEY_UP端(PA0)一直是低电平;
如果按下,PA0变为高电平;
配置为上升沿触发。
TR0:1 允许输入线0上的上升沿触发(中断和事件)。
软件中断事件寄存器
MR0:1 开放来自线0上的中断请求
KEY_UP按键触发中断
stm32f10x_exti.h中的初始化结构体以及初始化结构体里面的成员可以选择的值,还有初始化函数。
typedef struct
{
uint32_t EXTI_Line; /*!< Specifies the EXTI lines to be enabled or disabled.
This parameter can be any combination of @ref EXTI_Lines EXTI_Linex(x:0~15)
选择输入线
用于产生 中断/事件 线
EXTI_Linex(x:0~15)*/
EXTIMode_TypeDef EXTI_Mode; /*!< Specifies the mode for the EXTI lines.
This parameter can be a value of @ref EXTIMode_TypeDef
选择中断或者事件
EXTI模式(中断/事件) */
EXTITrigger_TypeDef EXTI_Trigger; /*!< Specifies the trigger signal active edge for the EXTI lines.
This parameter can be a value of @ref EXTIMode_TypeDef
确定输入线的触发模式
触发(上/下/上下)*/
FunctionalState EXTI_LineCmd; /*!< Specifies the new state of the selected EXTI lines.
This parameter can be set either to ENABLE or DISABLE
确定选的输入线是否使能