当前位置: 首页 > news >正文

什么是中断?---STM32篇

目录

一,中断的概念

二,中断的意义

三,中断的优先级

四,中断的嵌套        如果一个高优先级的中断发生,它会立即打断当前正在处理的中断(如果其优先级较低),并首先处理这个高优先级的中断,这就是所谓的中断嵌套。 ​编辑


一,中断的概念

        1.1什么是中断?

                中断就是单片机正在执行程序时,由于内部或外部事件的触发,打断当前程序,转而去处理这一事件,当处理完成后再回到原来被打断的地方继续执行原程序的过程。
                在ARM体系结构中,中断通常由外设或外部输入产生,有时也可以由软件触发。中断是单片机系统处理紧急或突发事件的重要方式,如定时器溢出、按键输入、串口数据到达等。
                

二,中断的意义

           提高CPU的效率,而不会一直占用CPU,实现对突发事件的实时处理,以及实现程序的并行化和嵌入式系统进程之间的切换。相较于轮询方式(即按照一定的频率和周期不断地检测某些事件的发生),中断在处理一些偶然发生的事情时效率更高。

三,中断的优先级

        中断具有优先级高低之分,两个中断同时触发,则优先响应高优先级中断,再响应低优先级中断。
 

四,中断的嵌套
        如果一个高优先级的中断发生,它会立即打断当前正在处理的中断(如果其优先级较低),并首先处理这个高优先级的中断,这就是所谓的中断嵌套。 

五,中断执行流程

        当中断发生时,STM32的执行流程如下:

        首先,由外设发出中断请求;

        然后,处理器暂停当前执行的任务,保护现场(如将当前位置的PC地址压栈);

        接着,程序跳转到对应的中断服务程序(ISR)并执行;中断服务程序执行完毕后,恢复现场(如将栈顶的值送回PC);

        最后,处理器返回到被中断的位置,继续执行下一个指令。

六,中断的数量

        STM32F103C8T6 支持的中断共有 70 个,其中包括 10 个内核中断60 个外部中断。外部中断包含 EXTI、TIM、USART、ADC、I2C、SPI 等等。

七.中断框图

http://www.lryc.cn/news/387021.html

相关文章:

  • 51单片机第1步_putchar()和_getkey()应用
  • 微信小程序中的地图的使用
  • MySQL root密码丢失处理
  • RabbitMQ中java实现队列和交换机的声明
  • 解决SPA(单页应用)首屏加载速度慢
  • ElementUI框架搭建及组件使用
  • 同三维T908转换器 SDI转DVI/HDMI/VGA/色差分量/AV转换器
  • 【设计模式】【创建型5-5】【原型模式】
  • 原子变量原理剖析
  • WebSocket走私实践(附赠LiveGBS监控系统未授权管理员密码重置)
  • CentOS 7 和 CentOS Stream 8 的主要区别
  • 基于go1.19的站点模板爬虫
  • (单机版)神魔大陆|v0.51.0|冰火荣耀
  • k8s自动补全工具和UI管理界面
  • 内网渗透:内网基础信息收集
  • cos符号链提示是什么?TOT呢?
  • docker-compose部署Flink及Dinky
  • 数字时代的文化革命:Facebook的社会影响
  • 66.前端接口调用返回400的错误
  • Hadoop 安装与伪分布的搭建
  • 网络安全:渗透测试思路.(面试)
  • 优化堆排序
  • vue3使用一些组件的方法
  • OceanBase 4.2.1 离线安装
  • ForkJoin
  • 实验2 色彩模式转换
  • AES加密算法及AES-CMAC原理白话版系统解析
  • 24年hvv前夕,微步也要收费了,情报共享会在今年结束么?
  • 【地理库 Turf.js】
  • springboot在线考试 LW +PPT+源码+讲解