STM32入门(十四)----EXTI

EXTI简介

EXTI:External interrupt/event controller 外部 中断/时间 控制器
在这里插入图片描述

EXTI功能框图

在这里插入图片描述

  1. 选择输入线
  2. 配置上升沿/下降沿触发选择寄存器
  3. 配置软件中断事件寄存器
  4. 配置中断屏蔽寄存器
  5. 配置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 
                                         确定选的输入线是否使能
                                      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值