嵌入式实验3串口通信--任务三串口中断

news/2025/10/20 18:25:46/文章来源:https://www.cnblogs.com/dshuidawsud/p/19153321

1.STM32CubeMX配置
STM32配置可见上文,本文不再配置。
2.编写STM32F1xx HAL库配置文件(stm32f1xx_hal_conf.h)

屏幕截图 2025-10-20 181545
3.编写中断头文件(stm32f1xx_it.h)

屏幕截图 2025-10-20 181650
4.编写中断服务函数(stm32f1xx_it.c)

屏幕截图 2025-10-20 181751
5.编写头文件(main.h)

屏幕截图 2025-10-20 181837
6.编写主函数(main.c)

屏幕截图 2025-10-20 181931
7.编译并运行,测试运行结果
编译成功:

屏幕截图 2025-10-20 182009
8.上板测试验证
测试成功:

屏幕截图 2025-10-20 182115
详细说明
1. 中断方式 vs HAL回调方式

之前的HAL回调方式:

使用HAL_UART_Receive_IT()启动接收
在HAL_UART_RxCpltCallback()回调函数中处理数据
HAL库自动管理中断使能和标志清除

当前的中断方式:

直接操作寄存器使能USART接收中断
在USART1_IRQHandler()中手动处理中断
手动读取数据寄存器和清除中断标志

2. 中断处理流程

  1. 中断使能:
    __HAL_UART_ENABLE_IT(&huart1, UART_IT_RXNE);
    
  2. 中断服务函数:
    检查RXNE(接收寄存器非空)标志
    读取数据寄存器(DR)获取接收到的字节
    清除中断标志
    设置接收完成标志供主循环处理
  3. 主循环处理:
    检查uart_rx_flag标志
    处理接收到的数据
    根据字符控制发送状态

关键代码解析
中断使能

__HAL_UART_ENABLE_IT(&huart1, UART_IT_RXNE);

这行代码使能USART1的RXNE(接收寄存器非空)中断,当接收到数据时会触发中断。

中断服务函数

void USART1_IRQHandler(void)
{
if(__HAL_UART_GET_FLAG(&huart1, UART_FLAG_RXNE) != RESET)
{
__HAL_UART_CLEAR_FLAG(&huart1, UART_FLAG_RXNE);
uart_rx_buffer = (uint8_t)(huart1.Instance->DR & 0xFF);
uart_rx_flag = 1;
}
}

UART_FLAG_RXNE:接收寄存器非空标志
读取DR寄存器会自动清除RXNE标志
设置标志位通知主循环有新数据需要处理

硬件连接

STM32F103C8T6 ↔ USB转串口模块
PA9 (USART1_TX) → RXD of USB-to-Serial
PA10 (USART1_RX) → TXD of USB-to-Serial
GND → GND

串口助手设置

在Windows 11的串口助手中需要设置:

波特率: 115200
数据位: 8位
停止位: 1位
校验位: 无
流控制: 无
功能特点

  1. 实时响应:中断方式确保及时响应上位机命令
  2. 高效处理:中断服务函数尽量简短,只做必要的标志设置
  3. 主从分离:数据处理在主循环中完成,不阻塞中断
  4. 错误处理:包含溢出错误处理,提高稳定性

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

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

相关文章

题单

1,cf2094F 2,cf2094G 3,cf2094H

计数

叁仟柒佰万 $ _{5.4}$求分割一个序列使得每段 \(\text{mex}\) 值相等的方案数对 \(10^9+7\) 取模。 \(n\le 3.7\times 10^7\)发现重要结论:最终每一段的 \(\text{mex}\) 应该和整个序列的 \(\text{mex}\) 相同。 有了…

2025年风机盘管厂家权威推荐榜:两联供室内机/水系统空调室内机/全包围风机盘管/超薄风机盘管/静音风机盘管/半包围风机盘管/单冷源除湿新风机/五恒空调

2025年风机盘管厂家权威推荐榜:两联供室内机/水系统空调室内机/全包围风机盘管/超薄风机盘管/静音风机盘管/半包围风机盘管/单冷源除湿新风机/五恒空调 随着建筑节能标准的不断提升和室内环境舒适度需求的日益增长,风…

文章测试

刚整理完博客园callout样式 ,调整一下改准备工作了!📅2025-10-20 14:33 | ✍️云边有个小夏目 | 📍江苏 | 💬给自己一个机会去认识新人,而不是回到过去那个不珍惜你的人身边📅2025-10-20 10:33 | ✍️云边有…

2025年防腐工程厂家最新权威推荐榜:喷砂/热喷锌/热喷铝/油漆涂装/热喷耐磨材料,专业工艺与长效防护解决方案

2025年防腐工程厂家最新权威推荐榜:喷砂/热喷锌/热喷铝/油漆涂装/热喷耐磨材料,专业工艺与长效防护解决方案 在工业制造和基础设施建设领域,金属材料的腐蚀防护一直是关乎设备寿命和安全运营的关键环节。随着2025年…

Wamp 启动图标橙色(2/3 服务运行):MySQL 服务启动失败解决方案

Wamp 启动图标橙色(2/3 服务运行):MySQL 服务启动失败解决方案 Wamp 启动后图标显示橙色,且提示 “local server - 2 of 3 services running”,核心原因是 3 个默认服务(Apache、MySQL、MariaDB)中,MySQL 服务…

2025年超声波检测设备厂家权威推荐榜:超声波检测系统,相控阵/高频/水浸/液冷板/钎焊超声波检测,专业设备与技术实力深度解析

2025年超声波检测设备厂家权威推荐榜:超声波检测系统,相控阵/高频/水浸/液冷板/钎焊超声波检测,专业设备与技术实力深度解析 行业背景与发展现状 超声波检测技术作为现代工业无损检测的重要手段,在航空航天、新能源…

详细介绍:计算机工作原理(简单介绍)

详细介绍:计算机工作原理(简单介绍)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monac…

2025年振动电机厂家推荐排行榜,新型振动电机,高频振动电机,MV卧式振动电机,防爆振动电机,低噪声振动电机,三段式振动电机,卧式振动电机,直流振动电机,节能振动电机,侧板式振动电机公司推荐

2025年振动电机厂家推荐排行榜:专业选购指南与权威品牌解析 在工业自动化与智能化快速发展的今天,振动电机作为关键动力设备,在矿山、冶金、煤炭、电力、建筑、化工、铸造、食品机械等多个行业中发挥着不可或缺的作…

在VSCode中配置C/C++环境(使用gdb和code-runner两种方式配置)

https://blog.csdn.net/bihhammer/article/details/129114889本文来自博客园,作者:随手一只风,转载请注明原文链接:https://www.cnblogs.com/suishou/p/19153284

Java-Eclise-快捷键使用

Java-Eclise-快捷键使用day12 快捷键使用

【MySQL】MVCC:从核心原理到幻读解决方案 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

TCP协议(从HTTP3.0开始,切换为UDP)就是HTTP 是 超文本传输协议的缩写HTTP1.1是互联网主流版本HTTP在传输层主要依赖的

TCP协议(从HTTP3.0开始,切换为UDP)就是HTTP 是 超文本传输协议的缩写HTTP1.1是互联网主流版本HTTP在传输层主要依赖的pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !import…

设计极致高效的文件分享系统:哈希算法的艺术与科学

如何在确保文件唯一性的同时,打造短小精悍的分享链接?设计极致高效的文件分享系统:哈希算法的艺术与科学如何在确保文件唯一性的同时,打造短小精悍的分享链接?在日常工作中,我们经常需要分享文件——无论是团队协…

页面测试记录

记录自己的折腾历程闲言碎语记录代码展示: <div style="font-family: Arial, sans-serif; background-color: #fff; padding: 20px; max-width: 1500px; margin: 0 auto;"><div style="backg…

2025年律师事务所权威推荐榜单:房产纠纷/土地/拆迁/继承,婚姻家事/离婚/抚养权/财产纠纷,刑事辩护/合同纠纷/债务债权/交通事故/股权/劳动/企业顾问/知识产权

2025年律师事务所权威推荐榜单:专业法律服务机构的深度解析 在法治建设不断深化的今天,专业律师事务所已成为维护公民权益、保障企业合规经营的重要力量。随着社会经济的快速发展,房产纠纷、婚姻家事、刑事辩护、合…

实用指南:Deepoc具身模型外拓板:重塑居家服务机器人的交互革命

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

springboot多功能智能手机阅读APP设计与实现(代码+数据库+LW) - 实践

springboot多功能智能手机阅读APP设计与实现(代码+数据库+LW) - 实践2025-10-20 18:02 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: aut…

AWS IMDSv2区域级强制实施:提升云安全新举措

本文详细介绍AWS最新推出的区域级IMDSv2强制实施功能,涵盖其安全机制演进历程、API调用方法、Terraform支持实现,以及多层级配置优先级规则,帮助用户全面提升EC2实例元数据服务的安全性。IMDSv2强制实施:即将登陆您…

三桶油

三桶油好的,这是一个非常重要且常见的问题。中国的石油工业格局通常被概括为 “三桶油”,但它们之间有着明确的分工和区别。近年来,随着改革和市场变化,格局也有所演变。 核心:“三桶油” 这是中国石油石化行业的…