• 10.2 External interrupt/event controller (EXTI)


    1. 主要特点:

    1. 每个中断/事件线上的独立触发器和掩码
    2. 每个中断行的专用状态位
    3. 生成最多20个软件事件/中断请求
    4. 脉冲宽度小于APB2时钟周期的外部信号检测。
    5. 每条中断线路的专用状态位生成最多20个软件事件/中断请求检测脉冲宽度小于APB 2时钟周期的外部信号。

    2. 概况

     根据上图可以看出,input line上的信号要想触发中断需经过:

    1. 边沿检测电路:(上升沿、下降沿、跳变沿)
    2. 软件中断事件寄存器(就是说你可以软件触发中断,即忽略input line的状态)
    3. 中断屏蔽寄存器(这里是个“与”,可以理解成中断开关:不置1的话是无法下一步的)
    4. 挂起请求寄存器(若由上步产生了中断则该位置1;向其写1则会清除该位)

    若是触发事件的话,则从第2步后经过事件屏蔽寄存器后触发事件。

    我们再来看 Input line是怎么来的:

     

    就是说一共有23根lines,前16根被用作GPIO的外部中断使用,后面的被其他外设使用。

    再来看用于GPIO的line,每一根line包含所有GPIO管脚的相同pin,如图所示。通过SYSCFG_EXTICRn的寄存器就可以选择每根line来着GPIO的哪个Port。

    注意:配置SYSCFG外设中的SYSCFG_EXTICRn的寄存器,需先开启SYSCFG外设的时钟(常识,但容易忘)。

     

    3. 用途

     3.1 硬件中断

    • 配置中断屏蔽寄存器(IMR, Interrupt Mask Register)
    • 配置触发条件(RTSR/FTSR, Rising/Falling Trigger Selection Register)
    • 配置NVIC中断的使能位与屏蔽位

     3.2 硬件事件

    事件,我的理解是SYSTEM内部的一些硬件类的操作,不同于中断的跳转。比如:唤醒(WFE)

    • 配置事件屏蔽寄存器(EMR, Event Mask Register)
    • 配置触发条件(RTSR/FTSR, Rising/Falling Trigger Selection Register)

     此部分,接触少,先按住不提。

     3.3 软件中断/事件

    就是用软件的方法触发硬件事件/中断,比如原来需要硬件的复位按键完成的功能,现在可以在通讯中满足一定条件由软件触发相应的功能。

    • 可不配置触发条件
    • 配置IMR/EMR
  • 相关阅读:
    rsync+crontab 企业实战 全量备份
    添加共享文件盘,切换用户访问共享
    一天电你千百回,这样做远离静电你造么~
    Network Password Recovery工具查看windows凭据密码
    su 和su
    运维面试 怎么实现程序自启
    在tomcat中配置域名的方法
    使用windows update blocker工具关闭windows系统自动更新
    CVM 母机透传,什么是透传模块?为什么要透传?
    硬盘接口类型
  • 原文地址:https://www.cnblogs.com/qiyuexin/p/9010479.html
Copyright © 2020-2023  润新知