stm32学习笔记:EXIT中断

1、中断系统

中断系统是管理和执行中断的逻辑结构,外部中断是众多能产生中断的外设之一。

1.中断:

在主程序运行过程中,出现了特定的中断触发条件 (中断源,如对于外部中断来说可以是引脚发生了电平跳变,对于定时器来说,可以是定时时间到了,对于串口通信来说可以是接收到了数据),使得CPU暂停当前正在运行的程序,转而去处理中断程序,处理完成后又返回原来被暂停的位置继续运行

2. 中断优先级:

当有多个中断源同时申请中断时,CPU会根据中断源的轻重缓急进行裁决,优先响应更加紧急的中断源。 (这个根据具体需求进行设计,紧急的任务优先级设置高一点,防上紧急的事件被别的中断耽误。)

3.中断嵌套:

当一个中断程序正在运行时,又有新的更高优先级的中断源申请中断,CPU再次暂停当前中断程序,转而去处理新的中断程序,处理完成后依次进行返回(中断嵌套也是为了照顾比较紧急的中断的,这个时候考虑的是抢断优先级)

4.中断执行流程:

5.stm32的中断:

中断通道: 即中断源,能触发中断函数的调用。
68 是 F1 系列系列最多的中断数量,对于一个具体的型号可能没有这么多中断,所以以对应型号的数据手册为准。

NVIC 是用于管理中断 和分配优先级的,优先级总共有16个等级。

 

 2.NVIC 基本结构

1.基本结构

全称: 嵌套中断向量控制器
作用: 统一分配中断优先级和管理中断的。是一个内核外设,是CPU 的小助手。如果将所有中断全部接在 cpu 上,CPU 还得引出很多线进行适配,设计上就很麻烦。NVIC有很多输入口,中断线路都可以接过来。

 为了便于理解,可以将CPU 看作是一个医生,NVIC 是一个叫号系统,如果让医生去处理病人的等级进而判断先看谁后看谁非常浪费医生的时间,因此叫号系统会做好这个工作,将病人根据病情分为不同的等级,医生只管看叫号系统筛选出的病人即可。

2.应优先级和抢占优先级

插队:响应优先级

不等上个病人进去就直接进去:抢占优先级3. EXTI(Extern Interrupt)外部中断

EXTI可以监测指定 GPIO 口的电平信号,当其指定的 GPIO 口产生电平变化时, EXTI 将立即向 NVIC 发出中断申请,经过 NVIC 裁决后即可中断 CPU 主程序,使 CPU 执行 EXTI 对应的中断程序。


支持的触发方式:上升沿 / 下降沿 / 双边沿 / 软件触发
支持的 GPIO 口:所有 GPIO 口,但相同的 Pin (例如 PA1 、 PB1 、 PC1 等 )不能 同时触发中断
通道数: 16个GPIO_Pin ,外加 PVD 输出、 RTC 闹钟、 USB 唤醒、以太网 唤醒(一共 20 个)
触发响应方式:中断响应 / 事件响应

外部中断有个功能:从低功耗模式的停止模式下唤醒stm32

例如PVD电源电压检测:当从电源从电压过低恢复时,需要PVD借助外部中断退出停止模式

RTC闹钟:RTC定一个闹钟之后,stm32进入停止模式,等闹钟响再唤醒,也需要外部中断

中断响应:申请中断,让CPU执行中断函数

事件响应:触发一个事件,则中断信号不会通向CPU,而是通向其他外设的操作,例如触发ADC转换、触发DMA等(stm32对外部中断增加的额外的功能)(也就是不会触发中断,而是触发外设操作)

4 旋转编码器(机器触点式)


介绍:
用来测量位置、速度或旋转方向的装置,当其旋转轴旋转时,其输出端可以输出与旋转速度和方向对应的方波信号,读取方波信号的频率和相位信息即可得知旋转轴的速度和方向。
类型: 机械触点式/霍尔传感器式/光栅式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/136433.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Puppeteer结合测试工具jest使用(四)

Puppeteer结合测试工具jest使用(四) Puppeteer结合测试工具jest使用(四)一、简介二、与jest结合使用,集成到常规测试三、支持其他的几种四、总结 一、简介 Puppeteer是一个提供自动化控制Chrome或Chromium浏览器的Node…

windows10系统-16-制作导航网站WebStack-Hugo

上个厕所功夫把AI导航搞定了 使用Hugo搭建静态站点 如何使用Hugo框架搭建一个快如闪电的静态网站 1 Hugo 参考Hugo中文文档 参考使用Hugo搭建个人网站 Hugo是由Go语言实现的静态网站生成器。简单、易用、高效、易扩展、快速部署。 1.1 安装Hugo 二进制安装(推荐…

Android 内容提供者和内容观察者:数据共享和实时更新的完美组合

任务要求 一个作为ContentProvider提供联系人数据另一个作为Observer监听联系人数据的变化: 1、创建ContactProvider项目; 2、在ContactProvider项目中用Sqlite数据库实现联系人的读写功能; 3、在ContactProvider项目中通过ContentProvid…

Linux网络编程系列之UDP组播

Linux网络编程系列 (够吃,管饱) 1、Linux网络编程系列之网络编程基础 2、Linux网络编程系列之TCP协议编程 3、Linux网络编程系列之UDP协议编程 4、Linux网络编程系列之UDP广播 5、Linux网络编程系列之UDP组播 6、Linux网络编程系列之服务器编…

接口测试文档

接口测试的总结文档 第一部分:主要从问题出发,引入接口测试的相关内容并与前端测试进行简单对比,总结两者之前的区别与联系。但该部分只交代了怎么做和如何做?并没有解释为什么要做? 第二部分:主要介绍为什…

ChatGPT,AIGC 数据库应用 Mysql 常见优化30例

使用ChatGPT,AIGC总结出Mysql的常见优化30例。 1. 建立合适的索引:在Mysql中,索引是重要的优化手段,可以提高查询效率。确保表的索引充分利用,可以减少查询所需的时间。如:create index idx_name on table_name(column_name); 2. 避免使用select * :尽可能指定要返回的…

windows计划任务的配置文件

界面操作 创建计划 依次设置 命令行操作 SCHTASKS 命令简介 SCHTASKS 命令是由微软公司开发并内置于 Windows 系统中的一个命令行工具。该命令可用于设置、修改、查询和删除计划任务,或启动计划任务中所定义的程序或脚本。 SCHTASKS 命令的基本语法 SCHTASKS 命…

ios设备管理软件iMazing 2.17.11官方中文版新增功能介绍

iMazing 2.17.11官方中文版(ios设备管理软件)是一款管理苹果设备的软件, Windows 平台上的一款帮助用户管理 IOS 手机的应用程序,软件功能非常强大,界面简洁明晰、操作方便快捷,设计得非常人性化。iMazing官方版与苹果设备连接后&…

win11的右键菜单改成win10的样子

在终端复制一下命令 reg add “HKCU\Software\Classes\CLSID{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32” /f /ve 回车,会显示成功 再重启资源管理器。这步必须执行,否则是成功的,或者可能重启电脑会成功,但是我没有…

知识付费小程序的推广与用户增长策略

在知识付费小程序开发完成后,推广和用户增长是关键的成功因素。本文将探讨一些推广策略和用户增长方法,并提供代码示例,帮助您在知识付费小程序中实施这些策略。 1. 社交媒体分享功能 在知识付费小程序中添加社交媒体分享功能,…

Spring framework Day11:策略模式中注入所有实现类

前言 什么是策略模式? 策略模式(Strategy Pattern)是一种面向对象设计模式,它定义了算法族(一组相似的算法),并且将每个算法都封装起来,使得它们可以互相替换。策略模式让算法的变…

Vmware Linux虚拟机安装教程(Centos版)

文章目录 1.Vmware-workstation安装软件2.双击下载的安装包开始安装3.打开VMware-workstation,输入密钥4.Centos7.6安装软件5.新建虚拟机6.为虚拟机配置映像文件7.开启虚拟机,配置环境7.1 Install Centos 77.2 选择简体中文字体7.3 软件选择7.4 安装位置…