STM32单片机 空闲中断

空闲中断是DMA异步接收的"帧完成"信号。当串口总线空闲时长超过一个字节,硬件便认定一帧完整数据发送结束,随即产生中断。CPU在中断服务函数中快速计算帧长、取走数据并立即重启DMA,随后通过标志位通知主循环处理。主循环处理完毕,清除标志,继续自身任务。若发送端发送的数据因缺少结尾空闲信号而成为"半截帧",空闲中断不会触发,此时由超时机制兜底:每次收到新字节就刷新超时定时器,若定时器溢出,则判定接收超时,强制取走缓冲区中的残留数据,确保数据不遗漏。

DMA一旦配置并启动,就会一直处于"待命"工作状态,无论发送端是否有数据传来。

我们可以将之前"自动传送带"的比喻再延伸一下,来精准理解这个"一直工作"的两种状态:

  1. 空转待命(无数据时):传送带(DMA)的电源是开着的,它时刻准备着。但没有货物(数据)触发入口传感器,传送带就静止不动,安静地等待,几乎不消耗任何CPU资源。

  2. 即刻响应(有数据时) :当一个字节数据到达(好比一个货物被放上传送带入口),硬件外设本身就会瞬间给DMA一个触发信号,传送带精确地转一下,把这个字节送到内存的指定位置。整个搬运过程完全不需要CPU参与。

所以,DMA一直"在工作"是指它始终处于一种"随时待命、自动响应"的硬件电路中,而不是在空转耗能。它就像一个敬业的门卫,永远在岗,但只在有人进出时才行动。

相关推荐
Zhao136824553911 小时前
国产替代DPE5500百兆以太网控制芯片兼容W5500
嵌入式硬件·物联网
yuehuaxin012 小时前
LP20R100FN 同步整流|3C 认证适配器 CCM 工况倒灌、温升超标样机避坑解析
嵌入式硬件·智能家居·适配器模式·智能硬件
国科安芯2 小时前
商业立方星平台中高集成度抗辐射MCU的功耗优化与批量化应用可行性探讨
单片机·嵌入式硬件·架构·risc-v·抗辐射·as32x601
女神下凡2 小时前
芯参谋(40):UFS 电路设计指南
arm开发·单片机·嵌入式硬件·设计规范
iCxhust3 小时前
CAN信号电平与485信号电平实测
单片机·can·通讯·rs485
深圳市恒锐丰科技杨生4 小时前
EG1125 准谐振原边反馈 CC‑CV 功率开关|屹晶 EGmicro
嵌入式硬件·硬件工程
iCxhust4 小时前
51单片机电力载波应用开发(七)广播通讯
c语言·开发语言·单片机·嵌入式硬件·51单片机
深圳市恒锐丰科技杨生4 小时前
EG4005 微波 / 红外感应信号处理芯片|屹晶 EGmicro
嵌入式硬件·硬件工程
Brilliantwxx4 小时前
【STM32】基础定时器 TIM 详解:从极简原理到寄存器全解析
stm32·单片机·嵌入式硬件·mcu
DS小龙哥5 小时前
从呼吸心率到离床报警:60G雷达睡眠仪全栈开发实录(硬件+MQTT+小程序)DIY一台全功能睡眠监护仪
stm32·单片机·嵌入式硬件·物联网·小程序·智能家居