首页 > 其他 > 详细

外部中断实验

时间:2019-11-10 17:49:13      阅读:103      评论:0      收藏:0      [点我收藏+]

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/DXGG-Bond/p/11831027.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!