21、外部中断实验

21、外部中断实验

1.外部中断介绍

2.外部中断配置步骤

3.硬件电路

4.编写外部中断控制程序

 

1.外部中断介绍

1.1 EXTI简介

STM32F10x外部中断/事件控制器(EXTI)包含多达 20 个用于产生事 件/中断请求的边沿检测器。EXTI的每根输入线都可单独进行配置,以选 择类型(中断或事件)和相应的触发事件(上升沿触发、下降沿触发或 边沿触发),还可独立地被屏蔽。

1.2 EXTI结构框图

1.3 外部中断/事件线映射

STM32F10x的EXTI具有20个中断/事件线,如下:

2.外部中断配置步骤

要使用外部中断我们就需要先配置它,通常都需经过这几步:(EXTI 相关库函数在stm32f10x_exti.c和stm32f10x_exti.h文件中)

(1)使能IO口时钟,配置IO口模式为输入

(2)开启 AFIO 时钟,设置 IO 口与中断线的映射关系

RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
void GPIO_EXTILineConfig(uint8_t GPIO_PortSource, uint8_t GPIO_PinSource);
GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource0);

(3)配置中断分组(NVIC),使能中断

 (4)初始化EXTI,选择触发方式

void EXTI_Init(EXTI_InitTypeDef* EXTI_InitStruct);
typedef struct
{
  uint32_t EXTI_Line;               //中断/事件线
  EXTIMode_TypeDef EXTI_Mode;       //EXTI模式
  EXTITrigger_TypeDef EXTI_Trigger; //EXTI触发方式
  FunctionalState EXTI_LineCmd;     //中断线使能或失能 
}EXTI_InitTypeDef;

(5)编写EXTI中断服务函数

 

EXTI0_IRQHandler                                                          
EXTI1_IRQHandler                                                           
EXTI2_IRQHandler                                                          
EXTI3_IRQHandler                                                         
EXTI4_IRQHandler 
EXTI9_5_IRQHandler 
EXTI15_10_IRQHandler

3.硬件电路

4.编写外部中断控制程序

要实现外部中断方式控制LED,程序框架如下:

(1)初始化对应端口的EXTI

(2)编写EXTI中断函数

(3)编写主函数

转载于:https://www.cnblogs.com/zhb123456/p/10610122.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值