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

嵌入式: 为什么中断服务函数必须尽快执行完毕?

实验现象:

USART3_IRQHandler中的回调函数里存在打印日志操作(耗时多),当上位机一次性发送多个字节数据包时,会存在吞包行为如下如图所示

static void bl_rx_handler(const uint8_t *data, uint32_t size) { while (size--) { printf("recv: %02X\n", *data); // 打印日志 packet_buffer[packet_index++] = *data++; // 填入数据包数组 } } void USART3_IRQHandler(void) { if (USART_GetITStatus(USART3, USART_IT_RXNE) != RESET) { if (rx_callback) { uint8_t data = (uint8_t)USART_ReceiveData(USART3); rx_callback(&data, 1); } USART_ClearITPendingBit(USART3, USART_IT_RXNE); } } int fputc(int ch, FILE *f) { USART_SendData(USART1, (uint8_t)ch); while (USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET); return ch; } bl_usart_register_rx_callback(bl_rx_handler);

现象分析:

  • 串口3中USART_ReceiveData接收第一个字节数据后,RXNE变为0

  • 进入回调函数—打印日志,此时TDR读取第二个数据,RXNE为1……不断读取并覆盖DR

    • 打印日志即 串口1的波特率(115200)通常远低于 CPU 主频(168MHz)上位机以波特速率向单片机发送数据包,单片机以字节(1+8+1 位)的速率接收数据并进入串口中断10 / 115200 s内需要跳出中断,以接收下一个字节数据

串口接收数据流程:

移位寄存器 TDR → 数据寄存器 DR → 读取后 RXNE清零

http://www.jsqmd.com/news/725505/

相关文章:

  • JAVA多商户家政同城上门服务预约服务抢单派单+自营商城系统支持小程序+APP+公众号+h5
  • 广东哪家电泳漆价格低 - 工业设备
  • 如何将微信聊天记录从手机永久保存到电脑?一个开源工具的完整解决方案
  • 2026台州装修设计公司深度评测:三大靠谱装企品牌与服务实力全面对比 - 疯一样的风
  • 深入TI F2803x的HRPWM:如何将PWM分辨率提升到150ps级别?
  • Zabbix监控K8s保姆级教程:从零配置API Server、Controller Manager等核心组件指标采集
  • 在线抠图透明背景用什么工具?2026年最实用的抠图方案对比
  • 别再暴力搜索了!用C++动态规划5分钟搞定PTA最长对称子串(附完整代码)
  • NginxLearningLog240429
  • 2026年焕新:比较好的高温烧结炉/高温烧结炉厂家排名最新盘点 - 速递信息
  • Claude Code + DeepSeek V4 唯一的遗憾要被补齐了:多模态识图灰度上线
  • Dify医疗问答系统合规改造:从原始数据接入到审计留痕的5步零漏洞实施法
  • 仅剩最后47套生产环境未迁移!R 4.5分块API兼容性避坑清单(含readr 2.1.5+arrow 14.0.2交叉验证矩阵)
  • 集成无障碍服务能力
  • 透明底图片怎么制作?2026年最全工具对比和实战教程
  • 从“你听我说”到“我问你答”:用Python和C++手把手实现ROS2话题与服务通信
  • 避坑指南:用DRV8833和STM32驱动直流电机,这些PWM配置细节千万别搞错
  • Laravel 12.2+ AI插件安装全链路故障诊断:从php.ini扩展缺失→.env配置加密失效→Webhook回调超时,12个真实报错日志逐行解析
  • 2026年北京团建公司哪家好?优质团建公司推荐 - 品牌种草官
  • Firefly EC-R3588SPC工业迷你主机:边缘计算与工业接口实战
  • 半导体芯片盛会合集:技术与商贸交流平台全方位汇总 - 品牌2026
  • 退货率从18%降至2.5%:慢回弹记忆枕工厂合作案例 - 速递信息
  • PEI转染效率优化全指南(一):AAV包装、慢病毒生产与重组蛋白表达的关键参数
  • Windows平台APK安装解决方案:告别模拟器的高效工具指南
  • 别再骗自己了:你的大脑、身体甚至‘小我‘,都不是真正的你
  • 生数科技认领神秘登顶模型:AI视频公司拿出工业级Demo,跨本体跑通复杂长程任务
  • 2026最新主流外汇平台综合实力排行:合规与服务双维度评测 - 速递信息
  • WeChatMsg:三步永久保存微信聊天记录,让珍贵对话不再消失
  • APKMirror开源客户端:打造安全便捷的安卓应用下载体验
  • E-Hentai漫画批量下载的终极解决方案:开源浏览器脚本技术解析