基于STM32G431嵌入式学习笔记——五、NVIC中断(以串口UART中断为例)

news2024/11/18 22:58:53

一、基础知识

1.专业术语

在这里插入图片描述

2.NVIC简介

在这里插入图片描述

①在这里要注意,中断控制是分级处理
是否请求中断中断源控制的。
是否响应中断响应方控制的。
④以外部中断为例,外部中断请求顺序就是首先从请求的外部设备中选出优先级最高的一个设备待中断,之后再由NVIC控制中断
⑤发生中断时,程序会直接跳转到中断处理子程序执行,也叫中断例程

3.中断和异常子程序调用的区别

在这里插入图片描述

4.NVIC支持的中断数量

支持102个可屏蔽的中断(外部中断)和16个内部中断。

请参考“赛点资源数据包(比赛能看的资料)–>芯片资料–>STM32G4系列微控制器参考手册

在这里插入图片描述

5.中断向量表

这里仅仅节选16个内部中断和部分外部中断,详细内容请查阅微控制器参考手册
在这里插入图片描述

在这里插入图片描述中断向量表占用1024字节,即1k空间

6.关于中断的更多参考

更多详细内容,请参考“赛点资源数据包(比赛能看的资料)–>芯片资料–>STM32G4系列微控制器参考手册
NVIC中断位于第14章,p441-445
在这里插入图片描述
在这里插入图片描述

7.通用同步/异步收发器接口USART

在这里插入图片描述加以时钟控制的为同步串行接口;无时钟则为异步串行接口
在命名中,区别就是有没有’S’

同步传输以同步时钟为代价。
在这里插入图片描述

二、串口配置

1.参考内容

查阅产品手册,“7.1 调试器与目标MCU”。
在这里插入图片描述

串口通信中有两条线——实现单工和半双工
串口通信中有三条线——实现全双工

在这里插入图片描述
关于USART的中断,查询中断向量表即可得知其相关配置信息:
在这里插入图片描述

2.CubeMX中对USART的配置

大致步骤:

①配置引脚属性
②配置串口基本数据(波特率、字节长度、校正等)
③配置中断接收(触发中断)
④设置中断优先级


复制上次第12届蓝桥杯节选题的文件夹,作为我们的初始环境(若想要从0开始实现配置可以参考前4节的相关内容)
在这里插入图片描述在这里插入图片描述打开对应的CubeMX,找到USART1
在这里插入图片描述①配置引脚属性
我们回到串口的电路图,可以发现串口的通信用到了PA9和PA10

在这里插入图片描述因此点击这两个引脚,分别进行如图所示的配置:
在这里插入图片描述
由于USART要作为异步通信,模式应选为异步
在这里插入图片描述②配置串口基本数据(波特率、字节长度、校正等)
设置波特率为9600,字长8位,无奇偶校验位,停止位1位
(实际上波特率也可以设为其他值,只是需要保证通讯双方的参数一致)
在这里插入图片描述如何去检验通讯双方的参数一致?
赛事资源包中有对应的串口调试助手,双击.exe文件并打开
在这里插入图片描述在这里插入图片描述
③配置中断接收(触发中断)

在这里插入图片描述④配置中断优先级
如图所示,优先级共16个等级,用二进制表示则需要四位去表示0000(0)~ 1111(15)
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

唐山盐碱滩成渤海明珠 国稻种芯·中国水稻节:河北曹妃甸大米

唐山盐碱滩成渤海明珠 国稻种芯中国水稻节:河北曹妃甸大米 新华社音视频部制作 记者 杨世尧 河北新闻网讯 王士波 赵诤国 新闻中国采编网 中国新闻采编网 谋定研究中国智库网 中国农民丰收节国际贸易促进会 国稻种芯中国水稻节 中国三农智库网-功能性农业农业大健康…

电脑怎么迁移游戏资源,数据迁移能把游戏数据迁移吗

概述:玩家们在打游戏的过程中,会产生很多数据,尤其是那些大型游戏的玩家,都会珍惜游戏数据。电脑怎么迁移游戏资源?如果您刚刚购买了一台新电脑,并且正在寻找将游戏迁移到新电脑的方法,相信本文…

8 张图 | 剖析 Eureka 的首次同步注册表

注册表对于注册中心尤为重要,所有的功能都是围绕这个注册表展开。比如服务 A 要想访问服务 B,就得知道服务 B 的 IP 地址和端口号吧。如下图所示,传统的方式就是服务 A 知道了服务 B 的地址后,发送 HTTP 请求到对应的 API 地址上。…

MySQL事务管理 MVCC,隔离性详解

目录事务管理事务背景什么是事务?事务的四个属性为什么会出现事务?MySQL支持事务的版本事务提交方式事务常见操作方式演示(体现原子性和持久性)操作注意事项结论事务隔离性查看与设置隔离性各种隔离性演示读未提交【Read Uncommitted】脏读读提交【Read Committed】…

【SNUT集训1】排序 二分 前缀和 差分(6 / 16)

目录 P1094 [NOIP2007 普及组] 纪念品分组 - 排序贪心双指针 P1571 眼红的Medusa - 哈希表 P1678 烦恼的高考志愿 P1024 [NOIP2001 提高组] 一元三次方程求解 1、二分法 2、暴力 P7585 [COCI2012-2013#1] LJUBOMORA - 二分 P4552 [Poetize6] IncDec Sequence- 差分思维…

【Vue学习之从入门到神经】

14天学习训练营导师课程: 郑为中《Vue和SpringBoot打造假日旅社管理系统》 目录 1. VUE介绍 2. Vue导入 3. VUE相关指令 4. 显示隐藏相关 5. Vue周边库 1. VUE介绍 VUE是目前最流行的前端框架, 基于MVVM设计模式VUE框架两种用法: 多页面应用, 在html页面中引入…

【HMS Core】游戏初始化

前提条件 实现游戏初始化前,必须已经完成AppGallery Connect的配置准备,参见AGC控制台准备。已完成集成SDK和配置混淆脚本。 注意事项 本场景中涉及的功能必须在应用启动时完成,而不是用户在进行登录、支付等操作时才完成,否则可…

无线传感器网络:物理层设计

文章目录Physical Layer TechnologiesRadio FrequenciesNarrow-Band CommunicationSpread SpectrumDSSSFHSSUltra Wide Band (UWB)Optical CommunicationAcoustic CommunicationMagnetic Induction CommunicationRF Wireless CommunicationWireless Channel EffectsAttenuation…

项目工作中,管理者如何合理安排任务优先级?

面对各种工作的时候,你是否总是会手忙脚乱? 在项目工作中,管理者每天面对各种工作:需求、沟通还有其他五花八门任务。 管理者应该如何合理安排自己任务的优先级呢? 在安排任务优先级的时候,我最常用方法…

后台部署运维零碎总结

一、场景 为了实现项目部署简化,尽量都由脚本来完成,需要将许多手动处理过程进行脚本化处理。 二、环境 1、VMware 虚拟机 Download VMware Workstation Pro 2、获取CentOs 镜像 3、使用镜像在虚拟机中安装 4、配置网卡信息,重启网络 三…

【算法基础复习1】差分

目录 一、差分简介 一维差分结论 Acwing.797 差分 P4552 [Poetize6] IncDec Sequence - 差分思维玄学题 一、差分简介 规定a数组下标从1开始 a[0]0b数组下标从1开始定义一个数组b,使 对于a数组 其差分数组b为 a是b的前缀和数组 比如 a[2]…

Python实战 | 如何抓取tx短片弹幕并作词云图分析

前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~! 本次目的:采集tx短片弹幕,并且做词云图可视化分析 这个不少漫迷应该都看过吧~ 哪里都好,就是更新太慢了一点,剧情磨蹭了一点,哎 那今天我们就来采集一下它的弹幕吧&#xff…

我把提高开发效率的VSCode插件分享出来了

前言 最近在家办公,写代码发现没有那么流畅,一看是某些插件没有安装,搞得写代码的效率降低,所以这里有些比较实用的插件推荐给大家 开发实用插件 Settings Sync 利用 Settings Sync 💎将 VS Code 的设置保存在gith…

MCE | HPV 疫苗要不要打?

HPV 感染很大概率会患宫颈癌?HPV 感染 ≠ 患宫颈癌超过 90% 的 HPV 感染者无症状,并无需干预能在 2 年内清除感染。虽然大部分 HPV 感染会自行消退,但所有感染女性都面临 HPV 感染转为慢性,以及癌前病变发展为浸润性宫…

ViewPager2+TabLayout

效果图: MainActivity public class MainActivity extends AppCompatActivity {private TabLayout tabLayout;private ViewPager2 viewPager2;private int activeColor Color.parseColor("#ff678f");private int normalColor Color.parseColor("#…

C++入门教程||C++中的输入输出||C++ 注释

1. cout输出流的使用&#xff1a; cout输出流需要搭配<<输出操作符来使用&#xff0c;如输出语句&#xff1a; 1 cout<<"Hello"; 即会在屏幕上显示字符串Hello。 本质上&#xff0c;是将字符串"Hello"插入到cout对象里&#xff0c;并以cout…

一些RCE的汇总

RCE自增RCE参考[CTFshow-RCE极限大挑战官方wp]RCE-1[过滤.(]RCE-2p[自增-Array]RCE-3[自增-NAN-<105字符]RCE-4[自增-NAN-<84字符]RCE-5[自增-gettext扩展]72位字符68位字符无参数RCE参考[RCE篇之无参数rce]介绍例题一些能用上的函数前两天刚好ctfshow有个RCE极限大挑战&…

网络基础知识总结+网络设备介绍(运维必备网络知识)

什么是网络 网络是由多台计算机&#xff08;或手机等&#xff09;通过网络设备&#xff08;交换机以及路由器&#xff09;及网线&#xff08;或无线&#xff09;连接起来&#xff0c;按照一定的规范规则则彼此进行通信的系统总称。 为什么要有网络 网络出现的最核心需求就是…

[足式机器人]Part3机构运动微分几何学分析与综合Ch01-3 平面运动微分几何学——【读书笔记】

本文仅供学习使用 本文参考&#xff1a; 《机构运动微分几何学分析与综合》-王德伦、汪伟 《微分几何》吴大任 Ch01-3 平面运动微分几何学1.2.2 瞬心线-21.2.3 点轨迹的Euler-Savary公式1.2.2 瞬心线-2 &#xff08;3&#xff09;平面连杆机构&#xff08;二自由度开链串联机构…

【LeetCode-中等】238. 除自身以外数组的乘积(详解)

题目 给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请不要使用除法&#xff0c;且在 O(n) 时…