返回首页  设为首页  加入收藏  今天是:
网站首页电脑主板电脑cpu电脑内存电脑硬盘电脑显卡电脑电源显示器电脑配件电脑维修
相关文章
 HAL库中STM32F7的串口中断响…
 京东方柔性屏推动智能终端显…
 青岛卓英社拟冲刺新三板
 雷曼正式发布全球首款PM驱动…
 商场展厅会议室LED显示屏需要…
 第六届进博会“整装待发”首…
 京东1111电脑组件战绩创新高…
 科个普:为什么CPU性能的关键…
 丈夫中风她打工月薪5千借钱给…
 电脑办公最佳拍档 夸克网盘升…
 夸克网盘电脑端升级备份、阅…
 H610m-a竟然没有蓝牙
 win10系统怎么看电脑配置 wi…
 聊一款比较安静的游戏本
 win10系统怎么看电脑配置 wi…
 win10电脑配置怎么看参数 wi…
 中信建投:预计Open AI开发者…
 vivo X100现身Geekbench:搭…
 观进博|汽车能上天、超高速…
 阿斯加特推出华硕吹雪联名内…
 三款新色、过硬品质!OPPO A…
 行业首发虚拟显卡 vivo贾净东…
 AMD财报露怯消费级显卡已经不…
 七彩虹iGame雾山五行联名显卡…
 显卡迎来了年内好价想升级电…
 国产全新手机系统OriginOS 4…
 电脑电源的额定功率什么意思…
 如何计算电脑电源的额定功率…
 产品丨警惕青光眼!你的电脑…
 【清华紫光显示器企业名录】…
 清华台式电脑显示器(清华台式…
 重庆清华同方液晶显示器历史…
 清华紫光:以技术贯通3C融合…
 电脑CPU正常温度是多少doc
 电脑CPU温度多少属于正常范围…
 最新文章_智能设备_运动_汽车…
 电脑cpu温度什么是正常的
 正常电脑开机时CPU温度多少
 衡量工业主板质量好坏的依据…
 电脑查主板型号怎么查询(电…
 win7主板信息查看教程【详情…
 如何检查主板是否准备好支持…
 如何区分主板、中小板、创业…
 电脑内存多大合适
 电脑内存是多少
 电脑内存怎么看 电脑内存查看…
 笔记本升级不用愁 市售DDR2D…
 电脑内存只有16GB够用吗?过…
 “RTX4090禁令”陷入罗生门:…
 英伟达——逆风飞扬的技术创…
专题栏目
网络
您现在的位置: 电脑评测网 >> 电脑内存 >> 正文
高级搜索
HAL库中STM32F7的串口中断响应过程简析
作者:佚名 文章来源:本站原创 点击数: 更新时间:2023/11/6 21:21:14 | 【字体:

  陈阿炳意思是异常是由某些能够生成异常的指令(例如:SVC)或者是响应外部中断、内存冲突、对齐或总线错误、调试等系统行为导致的。

  所以,在ARM架构里,中断指的是外设产生的需要系统优先处理的事件,是异常的一种。异常由NVIC(Nested Vectored Interrupt Controller)模块统一管理。

  关于中断和异常的工作原理,在ARM架构下的工作方式等这里不做展开,需要复习这些知识点的建议找ARM内核架构的文档去看。这里主要以HAL库中STM32F7的串口中断响应过程为例,来看一下中断到底是怎么工作的,为什么能够提高系统运行效率。

  需要说明的是,ARM的中断优先级分为抢占式优先级和子优先级,STM32采用4个优先级位,也即4个优先级位都为抢占式优先级(FreeRTOS就是这样处理的)时,总共有16个优先级别,数值越小优先级越高。这里默认就行。

  在生成的工程里Core->

  Src目录下,会多一个usart.c的源文件,里边有下面三个函数,把代码注释写出来:

  这是串口1 的中断服务程序,通过调用HAL库的串口中断处理程序HAL_UART_IRQHandler完成中断响应。这个中断服务程序完全可以针对该串口完成的具体功能自己去写,效率更高。调用HAL库完成中断处理更简单方便,可移植性更好。

  另外要注意的是,调用HAL库完成中断处理的话,还需要自己重写中断处理的回调函数,HAL库里的回调函数是一个弱函数,本身并没有实现任何功能。这也很好理解,每个应用的需求都不同,不可能写出一个通用的中断处理函数。而且有一个回调用的弱函数在,就算是用户程序没有实现,也不会导致程序出错。

  假设要实现一个最简单的情况,串口每接收到一个字节的数据,非n则计数器RxCounter加1,否则计数器清零。为了方便观察,我们按下边这样实现。

  在main.c中定义两个全局变量,并申明usart.c中定义的串口1的句柄,如下:

  并在main函数的while循环前加如下代码,实现串口1每接收一个字节产生中断,接收的数据存放在Uart1RxBuff中。

  好了,到此就完成了一个简单的串口接收中断处理的任务。能够判断接收的有效字符数。

  串口1接收到一个字节的数据后,USART_ISR寄存器的RXNE位置1,如果对应的接收中断使能的话,则会向NVIC产生一个中断请求,NVIC根据中断源(USART1)去中断向量表相应的地址上找到中断向量(中断服务程序的入口地址),执行串口1的中断服务程序。

  由上图可以看出,USART1的中断向量偏移地址为0x000000D4,默认是从零地址开始偏移,所以实际地址也为0x000000D4。中断向量表这个地址上存储的中断向量是中断服务程序USART1_IRQHandler的入口地址。看过之前文章关于启动代码的分析就应该知道,在启动代码里定义好了中断向量表,中断向量地址是由链接器生成符号地址后装入中断向量表的。

  基于HAL库的串口中断的基本流程就是这样,但是并没有深入去查看相关库函数的实现过程,想全面掌握的话还需要去仔细阅读库函数源码。

电脑内存录入:admin    责任编辑:admin 
  • 上一个电脑内存:

  • 下一个电脑内存: 没有了
  •  
     栏目文章
    普通电脑内存 HAL库中STM32F7的串口中断响应过程简析 (11-06)
    普通电脑内存 中信建投:预计Open AI开发者大会推出含内存存… (11-06)
    普通电脑内存 vivo X100现身Geekbench:搭载天玑9300、12GB… (11-06)
    普通电脑内存 观进博|汽车能上天、超高速内存亮相……最“… (11-06)
    普通电脑内存 阿斯加特推出华硕吹雪联名内存:DDR5-6800 24… (11-06)
    普通电脑内存 三款新色、过硬品质!OPPO A2双11开售512GB大… (11-06)
    普通电脑内存 电脑内存多大合适 (11-05)
    普通电脑内存 电脑内存是多少 (11-05)
    普通电脑内存 电脑内存怎么看 电脑内存查看方法【详解】 (11-05)
    普通电脑内存 笔记本升级不用愁 市售DDR2DDR3本存大盘点 (11-05)
    普通电脑内存 电脑内存只有16GB够用吗?过来人给出建议分两… (11-05)
    普通电脑内存 挑选笔记本电脑:一份实用指南 (11-05)
    普通电脑内存 The Finals黑屏重启怎么办 The Finals黑屏显示… (11-05)
    普通电脑内存 传媒行业简评报告:OPENAI开发者大会前瞻:降… (11-04)
    普通电脑内存 iQOO 12 Pro曝光:骁龙8Gen3处理器搭配16GB内… (11-04)
    普通电脑内存 太猛了!这两款16GB+1TB大内存旗舰已经跌破20… (11-04)
    普通电脑内存 金士顿蝉联2022年内存模组供应商排行榜榜首 (11-04)
    普通电脑内存 一加 Ace2 Pro迎双11福利:配24GB大内存+旗舰… (11-04)
    普通电脑内存 战地2042内存相关介绍 (11-04)
    普通电脑内存 FK-YL06 全项目植物营养测定仪 (11-03)