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

嵌入式-中断的概念,优先级,编程-Day17

一、中断的概念

1.概念

简单来说,就是正常程序运行的过程中,要去应发一个突发事件,应发完后就继续做自己原来的事。

2.编程举例(中断的由来)

目的:外部串口去发送给单片机0慢闪,发送1正常闪,发送2快闪

首先,正常的思维就是先开始实现闪灯,然后你发送指令,然后单片机如果读到值,就使用接收指令去读对应的值并采取相应的行为,这看着是没啥问题的。

但是注意一个比较容易忽略的问题,假设writebit往灯写数据使灯亮或者灭是100ms一次,那么一次闪烁就是200ms,而串口接收或者发送的周期:比如波特率是常见的115200,然后发送的时候,起始位1+8个数据位+1结束位,这样就是每秒发送115200/10个字节,那就是发送或者接收就是0.1ms左右,那根据下面的第二个图片看到,当始终不读取数据的时候,你的接受寄存器的值始终会被覆盖,最后等你一次闪烁完,我可能只拿到了第一次发送的数据和被覆盖的就剩的最后一层的数据,所以这时候我们可以使用中断。

那这里就可以使用中断,就拿USART来说,他的右上角所示的每个标志位都可以引起中断,我们这里使用RXNE去产生中断,比如一判断到当前接收数据寄存器有值,就中断,中断响应函数里面接收数据就行

二、中断的优先级

1.中断优先级的概念

优先级就分为两种,一种是子优先级,就是同类的中断排队现象。

另一种是只有 抢占优先级才会发生的中断嵌套现象。        

2.中断流程

如下所示,片上外设靠标志位启动全局中断,因为片上外设很多,既而传给单片机的中断也很多(注意:每个外设对应的全局中断都有对应的名称,然后给这个名称的中断配置优先级),那么就需要一个中断管理员:NVIC去管理中断(在这里管理里面定义了管理规则,即中断的优先级),之后执行中断,执行中断的时候,需要去中断向量表里面找每个中断名对应的中断响应函数(比如USART的中断名下这个也有其对应的中断响应函数)

一般来说,中断响应函数,在底层制作声明,你自己调用然后实现自己想要实现的具体中断功能就行。


3.中断优先级的表示方法

中断优先级,就是前面提到的管理规则,即具体就是NVIC这块,他给每个字段配置了4位的数据,有一根中断分组线,线左边的叫抢占优先级,右边的叫子优先级。

这根线可以左右移动,既而导致了5个不同的分组。

同一个类别的优先级,谁的值越小,谁就是优先,但是特比注意抢占优先级和子优先级二者是不能直接相比的,要比就是你的抢占和我的抢占比,你的子优先级和我的子优先级比。


3.抢占优先级与中断嵌套


4.子占优先级与中断排队

这里唯一一个特别注意的就是中断排队不会打断当前中断的执行,即一定不会发送抢占所造成的嵌套中断的情况


5.练习题

三、中断的编程实验

http://www.dtcms.com/a/343269.html

相关文章:

  • 高效研发管理新选择:Codes 一站式平台深度解析
  • 6.Shell脚本修炼手册---grep命令使用指南
  • 定时器(Timer)和延时器
  • 文化遗产数字化对手持SLAM设备有哪些特殊要求?
  • 使用 X11 转发服务器界面
  • linux安装mysql ndb cluster
  • 牛客:链表分割算法详解
  • Java设计模式-享元模式
  • FreeRTOS学习笔记(三)--汇编指令
  • C ++代码学习笔记(一)
  • Layui 中的 iframe 详解与最佳实践
  • Linux笔记7——shell编程基础-1
  • SMT车间如何通过防静电监控系统提升产品质量
  • 206.反转链表
  • 【时时三省】vectorCAST 便捷使用技巧
  • 利用 Python 爬虫获取淘宝商品评论实战指南
  • 并发编程原理与实战(二十五)手写简易线程池实战,剖析线程状态转换过程
  • 【LINUX网络】UDP协议基础原理
  • Netty AdaptiveRecvByteBufAllocator原理详解
  • 分布式消息队列技术(原理相关):Kafka
  • 机器学习3
  • 《WINDOWS 环境下32位汇编语言程序设计》第6章 定时器和Windows时间
  • Git 版本控制核心流程与协作指南(从入门到冲突解决)
  • windows下jdk环境切换为jdk17后,临时需要jdk1.8的处理
  • 机器学习笔试题
  • 如何利用淘宝API接口实现自动下单?实战案例讲解
  • 【无标题】GAP: 用文本指导对任何点云进行高斯化(ICCV 2025)
  • 香港云服务器被暴力破解的危害有多大?
  • 使用docker manifest制作本地多架构镜像
  • Java与Vue深度融合,构建资产设备全周期管理系统,集成移动端实时操作与后台智能管理,功能完备且附完整源码,助力企业实现资产数字化高效运维