这张图是一条外部中断线或外部事件线的示意图,图中信号线上划有一条斜线,旁边标志19字样的注释,表示这样的线路共有19套.图中的蓝色虚线箭头,标出了外部中断信号的传输路径,首先外部信号从编号1的芯片管脚进入,经过编号2的边沿检测电路,通过编号3的或门进入中断挂起请求寄存器,最后经过编号4的与门输出到NVIC中断检测电路,这个边沿检测电路受上升沿或下降沿选择寄存器控制,用户可以使用这两个寄存器控制需要哪一个边沿产生中断,因为选择上升沿或下降沿是分别受2个平行的寄存器控制,所以用户可以同时选择上升沿或下降沿,而如果只有一个寄存器控制,那么只能选择一个边沿了. 按下来是编号3的或门,这个或门的另一个输入是软件中断/事件寄存器,从这里可以看出,软件可以优先于外部信号请求一个中断或事件,即当软件中断/事件寄存器的对应位为"1"时,不管外部信号如何,编号3的或门都会输出有效信号. 一个中断或事件请求信号经过编号3的或门后,进入挂起请求寄存器,到此之前,中断和事件的信号传输通路都是一致的,也就是说,挂起请求寄存器中记录了外部信号的电平变化. 外部请求信号最后经过编号4的与门,向NVIC中断控制器发出一个中断请求,如果中断屏蔽寄存器的对应位为"0",则该请求信号不能传输到与门的另一端,实现了中断的屏蔽. 明白了外部中断的请求机制,就很容易理解事件的请求机制了.图中红色虚线箭头,标出了外部事件信号的传输路径,外部请求信号经过编号3的或门后,进入编号5的与门,这个与门的作用与编号4的与门类似,用于引入事件屏蔽寄存器的控制;最后脉冲发生器的一个跳变的信号转变为一个单脉冲,输出到芯片中的其它功能模块.从这张图上我们也可以知道,从外部激励信号来看,中断和事件的产生源都可以是一样的.之所以分成2个部分,由于中断是需要CPU参与的,需要软件的中断服务函数才能完成中断后产生的结果;但是事件,是靠脉冲发生器产生一个脉冲,进而由硬件自动完成这个事件产生的结果,当然相应的联动部件需要先设置好,比如引起DMA操作,AD转换等; 简单举例:外部I/O触发AD转换,来测量外部物品的重量;如果使用传统的中断通道,需要I/O触发产生外部中断,外部中断服务程序启动AD转换,AD转换完成中断服务程序提交最后结果;要是使用事件通道,I/O触发产生事件,然后联动触发AD转换,AD转换完成中断服务程序提交最后结果;相比之下,后者不要软件参与AD触发,并且响应速度也更块;要是使用事件触发DMA操作,就完全不用软件参与就可以完成某些联动任务了。 总结: 可以这样简单的认为,事件机制提供了一个完全有硬件自动完成的触发到产生结果的通道,不要软件的参与,降低了CPU的负荷,节省了中断资源,提高了响应速度(硬件总快于软件),是利用硬件来提升CPU芯片处理事件能力的一个有效方法; --------------------- 本文来自 flydream0 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/flydream0/article/details/8208463?utm_source=copy

STM32之中断与事件---中断与事件的区别相关推荐

  1. 【Android 事件分发】事件分发源码分析 ( 驱动层通过中断传递事件 | WindowManagerService 向 View 层传递事件 )

    Android 事件分发 系列文章目录 [Android 事件分发]事件分发源码分析 ( 驱动层通过中断传递事件 | WindowManagerService 向 View 层传递事件 ) 文章目录 ...

  2. TMS320C645x DSP SRIO寄存器(五)——LSU和其他特殊事件中断

    本文是对TI的TMS320C645x DSP SRIO User's Guide中5.21-5.24.5.28-5.31节内容的搬运 与第4章大部分内容相关 一.LSU中断 LSU中断状态寄存器(LS ...

  3. stm32之实时时钟RTC(掉电计时保持、秒中断、闹钟中断、溢出中断)

    前言:stm32系列产品普遍都有实时时钟RTC模块,它提供一个掉电保持计时功能,掉电后由后备供电区域供电.除了提供时间和日期之外,还可以设置闹钟提醒,且可以在待机模式下设置闹钟唤醒系统.在一些小容量. ...

  4. STM32震动感应控制继电器(使用循环VS使用外部中断EXTI和中断控制器NVIC)

    参考:stm32的外部中断 震动感应 控制 继电器 作者:点灯小哥 发布时间: 2021-03-05 22:37:01 网址:https://blog.csdn.net/weixin_46016743 ...

  5. STM32 学习总结2 ----利用中断来控制按键点灯、捕获功能练习

    跟着战舰V3 资料盘里学习,关于中断的练习,就是用中断控制按键点灯,很简单的程序,且有例程,可是我的还是出了些问题: 外部中断和IO的对应关系设置:"STM32F103 的 EXTI 控制器 ...

  6. STM32(3)——外部中断的使用

    1 .简介 ARM Coetex-M3内核共支持256个中断,其中16个内部中断,240个外部中断和可编程的256级中断优先级的设置.STM32目前支持的中断共84个(16个内部+68个外部),还有1 ...

  7. STM32——TIM简介与TIM中断

    文章目录 一.TIM简介 二.定时器类型 基本定时器 通用定时器 高级定时器 三.定时中断基本结构 四.时序图 预分频器时序 计数器时序 计数器无预装时序 计数器有预装时序 RCC时钟树 五.定时器定 ...

  8. STM32学习笔记——EXTI外部中断,光敏传感器控制LED灯

    中断系统 中断:在主程序运行过程中,当出现了特定的中断触发条件,CPU就可以暂停当前正在运行的程序去处理中断程序,并把当前程序的地址压入堆栈,中断程序处理完成后把地址弹出堆栈,回到刚刚暂停的位置继续执 ...

  9. STM32入门笔记03_EXTI外部中断详解+案例:红外对射计数、旋转编码器计数

    EXTI外部中断 中断的相关概念 中断源: 可以引起中断的事件称为中断源 中断: 在主程序运行过程中,出现了特定的中断触发条件(中断源),使得CPU暂停当前正在运行的程序,转而去处理中断程序,处理完成 ...

  10. STM32中断—EXTI外部中断

    5. 中断 本文来自于<STM32--江科大>的笔记整理. 中断系统 中断:在主程序运行过程中,出现了特定的中断触发条件(中断源),使得CPU暂停当前正在运行的程序,转而去处理中断程序,处 ...

最新文章

  1. 华人小哥开发“黑话”数据集,AI:你连dbq都不知道,xswl!| NAACL 2021
  2. picACG本地缓存目录_7天用Go动手写/从零实现分布式缓存GeeCache
  3. python写入数据到excel中_Python写入数据到Excel
  4. 【产品干货】APP留存率多少才合格——全面解析留存率
  5. Python基础入门6_文件和异常
  6. linux修改ip dhcp,Linux下在静态IP与动态DHCP之间切换的脚本
  7. (转)android拨打电话崩溃6.0以上实时动态权限申请
  8. IO流的详细描述,字节流的文件操作,以及IO的异常描述处理,字符流的文件操作
  9. 【老生谈算法】matlab特定人语音识别算法——语音识别算法
  10. Unity Shader数学基础——矩阵
  11. bug10下的工具(以防重新装机)
  12. 1009. Complement of Base 10 Integer*
  13. 天意PE维护系统 V2021.7.16版
  14. 浙江工业大学计算机与软件学院,浙江工业大学计算机科学与技术学院、软件学院...
  15. 老板说“把系统升级到https”,我用一个脚本实现了,而且永久免费!​
  16. html5 里面的type=”search“ ,h5版,点击手机键盘上的 ‘搜索”,”前往“等按钮,进行搜索
  17. Linux rpm 命令 【转】
  18. python+编译器 下载、安装
  19. 一种简单的抽签/抽奖算法逻辑
  20. 云计算和云服务器分别表示什么?

热门文章

  1. Java线程详解(14)-信号量
  2. 网络:HTTP状态码
  3. Redis持久化:AOF和RDB
  4. C语言连接MYSQL存取数据的一个例子
  5. jsp页面,在浏览器端显示时会出现乱码解决方法
  6. 模拟四:STEMA 考试选择题模拟练习试卷(中级组)及答案 + 自我解题笔记
  7. Module not found: Error: Can't resolve 'less-loader' in 'E:\NodeDemo\vue_assistant_lsp'
  8. php多个参数伪静态,伪静态技术与页面多参数传送的处理办法
  9. dlink打印服务器重置,单口打印服务器 D-Link DP-302简析
  10. 计算机的磁盘地址格式,如何查看电脑硬盘是GPT分区还是MBR分区