zoukankan      html  css  js  c++  java
  • 外部中断实验

    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)编写主函数

     

     


            

  • 相关阅读:
    html头部属性全接触
    js中的window.onload和jquery中的load区别
    关机时,自动清除运行框的记录的设置方法
    MVC问题小总结,不断更新中...
    iis6 元数据库与iis6 配置的兼容 出错问题
    MVC对异步 Controller 的支持
    SQL Server2008安装报错,解决方案
    JavaScript有5个原始类型
    ASP.NET MVC中的拦截器
    F5负载均衡
  • 原文地址:https://www.cnblogs.com/DXGG-Bond/p/11831027.html
Copyright © 2011-2022 走看看