当前位置: 首页 > news >正文

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

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.jsqmd.com/news/17681/

相关文章:

  • 题单
  • 计数
  • 2025年风机盘管厂家权威推荐榜:两联供室内机/水系统空调室内机/全包围风机盘管/超薄风机盘管/静音风机盘管/半包围风机盘管/单冷源除湿新风机/五恒空调
  • 文章测试
  • 2025年防腐工程厂家最新权威推荐榜:喷砂/热喷锌/热喷铝/油漆涂装/热喷耐磨材料,专业工艺与长效防护解决方案
  • Wamp 启动图标橙色(2/3 服务运行):MySQL 服务启动失败解决方案
  • 2025年超声波检测设备厂家权威推荐榜:超声波检测系统,相控阵/高频/水浸/液冷板/钎焊超声波检测,专业设备与技术实力深度解析
  • 详细介绍:计算机工作原理(简单介绍)
  • 2025年振动电机厂家推荐排行榜,新型振动电机,高频振动电机,MV卧式振动电机,防爆振动电机,低噪声振动电机,三段式振动电机,卧式振动电机,直流振动电机,节能振动电机,侧板式振动电机公司推荐
  • 在VSCode中配置C/C++环境(使用gdb和code-runner两种方式配置)
  • Java-Eclise-快捷键使用
  • 【MySQL】MVCC:从核心原理到幻读解决方案 - 实践
  • TCP协议(从HTTP3.0开始,切换为UDP)就是HTTP 是 超文本传输协议的缩写HTTP1.1是互联网主流版本HTTP在传输层主要依赖的
  • 设计极致高效的文件分享系统:哈希算法的艺术与科学
  • 页面测试记录
  • 2025年律师事务所权威推荐榜单:房产纠纷/土地/拆迁/继承,婚姻家事/离婚/抚养权/财产纠纷,刑事辩护/合同纠纷/债务债权/交通事故/股权/劳动/企业顾问/知识产权
  • 实用指南:Deepoc具身模型外拓板:重塑居家服务机器人的交互革命
  • springboot多功能智能手机阅读APP设计与实现(代码+数据库+LW) - 实践
  • AWS IMDSv2区域级强制实施:提升云安全新举措
  • 三桶油
  • 2025 年氢气压缩机生产厂家最新推荐榜:聚焦专业服务与市场口碑的权威甄选指南蚌埠氢气压缩机/安徽氢气压缩机厂家推荐
  • selnium 之实际案例
  • 2025年票务系统厂家权威推荐榜:景区售票/闸机/验票系统,智慧文旅平台与票务管理软件全景解析
  • 2025年棒球帽源头厂家推荐排行榜,定制棒球帽,刺绣棒球帽,运动棒球帽,防晒棒球帽,潮流棒球帽公司精选推荐
  • 2025 最新天然气压缩机厂家权威推荐榜:聚焦技术实力与行业口碑,助力企业精准选型蚌埠天然气压缩机/安徽天然气压缩机厂家推荐
  • 2025 三防漆厂家推荐榜:苏州拓尔迈电子 5 星领跑,适配电子 / 汽车 / 通讯设备防护需求
  • 2025年智能吉他厂家权威推荐榜:无弦吉他/自动档吉他/伴奏吉他/MIDI吉他,创新科技与演奏体验完美融合
  • 2025 不锈钢加工厂家推荐榜:不锈钢屏风/不锈钢壁龛/不锈钢栏杆/不锈钢楼梯扶手/聚焦精工匠心,这家企业成行业标杆
  • VS 查找对话框 怎么搜索通配符
  • #20232329易杨文轩 2025-2026-1 《网络与系统攻防技术》 实验三实验报告