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

news/2024/6/3 17:10:05 标签: stm32, 单片机, 学习, 嵌入式硬件, 蓝桥杯

一、基础知识

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.niftyadmin.cn/n/11182.html

相关文章

工作中学到的一些小点

1.结构体对齐 记得之前面试的时候被问过这个问题【汗】 这个结构体占多大 struct sExample {char c;int n; };占8字节,问有没有办法让它占5个字节? 有 #pragma pack(push) //保存对齐状态 #pragma pack(1) //设定为1字节对齐struct sExample {char c;…

小红书标题怎样吸引人?小红书的标题技巧

小红书在发布笔记的时候除了封面很重要之外,小红书的标题也很重要。 小红书的标题承担着披露信息,吸引用户的重要职责。 现在流行的小红书标题大致有: 1.正常叙事,把标题专注于内容本身上 2.用感叹句或者疑问句来进行吸引 3.…

带你走进神奇的元宇宙的世界

🏠个人主页:黑洞晓威 🧑个人简介:大家好,我是晓威,一名普普通通的大二在校生,希望在CSDN中与大家一起成长。🎁如果你也在正在学习Java,欢迎各位大佬来到我的博客查漏补缺…

LinuxHadoop环境

Hadoop环境Hadoop集群拓扑1、集群拓扑2、角色分配一、虚拟机安装二、虚拟机克隆1、克隆类型(1)完整克隆(2)链接克隆2、克隆步骤(1)克隆出master虚拟机(2)克隆出slave1虚拟机&#xf…

11.23Spring 学习第三天

AOP AOP(Aspect Oriented Programming)意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。 AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容&a…

总结java程序是如何运行部署的

我们写的代码写完并测试以后是如何部署给用户使用的? 部署好运行环境(操作系统、jvm、中间件)——配置好网络——把程序和相关服务打包成可执行文件——把可执行文件放到运行环境运行 我们自己在自己的电脑上写代码又是如何运行的? idea内置…

物联网安全年报漏洞情况

物联网 威胁分析漏洞篇物联网威胁分析—漏洞篇 引言 本章将从漏洞利用角度对物联网威胁进行分析。首先,我们分析了 NVD和 Exploit-DB中的物联网 年度漏洞及利用 1 变化趋势;之后统计了绿盟威胁捕获系统捕获到的物联网漏洞利用的整体情况;最…

Servlet API(HttpSerrvlet+HttpServletRequest+HttpServletResponse)

目录 🐲 1. HttpServlet 🐲 2. HttpServletRequest HTTP请求 🦄 2.1 打印请求信息(创建 ShowRequest 类) 🦄 2.2 获取 GET 请求中的参数(创建 GetParameter 类) 🦄 2.3 获取 POST 请求中的参数(创建 PostParame…