千家信息网

STM32网络之中断的示例分析

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要为大家展示了"STM32网络之中断的示例分析",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"STM32网络之中断的示例分析"这篇文章吧。01、简
千家信息网最后更新 2026年10月31日STM32网络之中断的示例分析

这篇文章主要为大家展示了"STM32网络之中断的示例分析",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"STM32网络之中断的示例分析"这篇文章吧。

01、简介

网络中断向量:一个用于正常的网络操作,另一个当它映射到EXIT线路19的时候,用于以太网唤醒事件(带有唤醒帧或魔术数据包检测)

第一个网络中断保留为MAC和DMA产生的中断,正如在MAC中断和DMA中断部分。

第二个中断保留为唤醒事件时PMT产生的中断。唤醒事件对EXIT线路19的映射是造成STM32F20X和STM32F21X退出低功耗模式,并且产生中断。

当映射到EXIT线路19的以太网唤醒事件发生和,MACPMT中断使能并且有一个上升沿的EXIT线路19中断也被使能,他们都能唤醒中断。

可使用看门狗定时器(请参见ETH_DMARSWTR 寄存器)灵活控制RS 位(ETH_DMASR寄存器)。当此看门狗定时器使用非零值编程时,看门狗定时器激活,只要RXDMA完成发送一个接收的数据帧到系统存储,在没有触发接收状态,因为它不是使能的在相应的接收描述符(RDES1[31])(也就是:未在相应接收描述符(RDES1[31])使能接收状态)。当定时器按照编程值运行时,RS位被置1并且中断发生,如果ETH_DMAIER寄存器中相应位使能。看门狗定时失效在运行前,当数据帧被发送到内存,并且RS置1,因为定时器被使能为描述符。

注意:

读取PMT 控制和状态寄存器会自动将接收的唤醒帧和接收的魔术数据包PMT 中断标志清零。但是,由于用于这些标志的寄存器位于 CLK_RX域,因此在固件能发现此更新前可能有显著的延迟。当 RX 时钟很慢(在10 Mbit 模式)和当AHB 总线为高频时,该延迟会特别长。

由于从PMT 到CPU 的中断请求基于CLK_RX 域中的相同寄存器,所以即使在读取PMT_CSR 之后,CPU也可能错误地第二次调用中断例程。因此,可能需要固件轮询接收的唤醒帧和接收的魔术数据包位,并仅在发现它们都为'0'时退出中断服务程序。

02、代码

STM32的网络中断,其实准确来说应该是网络专用的DMA的中断,网络中的数据包符合1518规则,也就是说是1460字节,MAC接收的数据包是2K字节,网络上每一个数据包MAC接收完都会产生中断。

官方代码是这样的

明显是使用查询的方式,没有使用到中断。

中断的使用方式如下:

配置网络中断

注释掉官方提供的查询部分的代码。

我们使用中断形式之后,代码是

这样的代码,我们在接收小于一个DMA描述符数据大小的数据没有问题,很流畅。

在接收大量数据的时候就会出现错误,接收的会缓慢,接收的过多会死机

解决办法是:

把if修改成while

这样就把整个数据包接收完之后再跳出中断,这样就解决了这个问题。

以上是"STM32网络之中断的示例分析"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

数据 网络 寄存器 代码 定时器 事件 线路 之中 示例 分析 内容 状态 篇文章 魔术 也就是 以太网 固件 字节 官方 方式 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司 互联网科技活动banner 重生之互联网科技帝国 互联网品科技 朗新科技与工业互联网 互联网 科技创新 南京欣网互联网科技 山东吉时兔互联网科技有限公司 西藏七维空间互联网科技有限公司 深圳前海聚择互联网科技有限公司 互联网软件和科技 深圳市优智互联网科技有限公司 佛山市拉法互联网科技有限公司 互联网科技大赛获奖感言 互联网科技实习生岗位 卡尔迅互联网科技有限公司 互联网与数字科技关系 江苏互联网科技小贷 同城互联网络科技 东风日产互联网科技公司叫什么 广州大一互联网络科技有限公司 互联网金融科技创新 互联网金融科技平台 新浪科技互联网 晓花互联网科技有限公司网址 广西互联网科技孵化中心 广州梦谷互联网科技有限公司领导 唯美互联网科技 美国五大互联网科技公司市值多少 安徽零酒互联网科技有限公司
0