【嵌入式】中断(Interrupt)和外部中断(External Interrupt)

中断(Interrupt)和外部中断(External Interrupt)是"包含关系":

  • 中断:CPU 被"打断",去处理一个紧急事件,然后再回来继续原来的代码。
  • 外部中断 :中断的一种,事件来自芯片外部引脚(比如按键、传感器输出、电平变化)。

1) 中断是什么

平时写的 while(1) 是"轮询模式":CPU 一直自己跑代码、自己判断条件。

中断相当于 CPU 的"电话铃":

  • 平时 CPU 正在执行主程序(main/while)
  • 某个事件发生(比如定时器到点、串口收到字节、按键触发)
  • CPU 暂停当前执行位置 ,跳去执行对应的 中断服务函数 ISR(也叫中断处理函数)
  • ISR 执行完后,CPU 回到原来暂停的位置继续跑

在举一个工程中断例子:USART1_IRQHandler(),串口接收中断来了就进这个函数处理数据。


2) 外部中断是什么

外部中断(EXTI) 特指:由某个 GPIO 引脚电平变化触发的中断,例如:

  • 按键按下(电平从 1→0 或 0→1)
  • 传感器输出一个脉冲
  • 外部模块给一个"事件信号"

STM32F1 的外部中断是 EXTI(External Interrupt/Event Controller):

  • 每个 GPIO 引脚(Px0~Px15)可以映射到 EXTI0~EXTI15
  • 可以配置触发方式:上升沿/下降沿/双沿
  • 触发后 CPU 跳到对应的 IRQHandler(例如 EXTI0_IRQHandler、EXTI15_10_IRQHandler 等)

3) 中断 vs 外部中断:一张对比表

  • 来源

    • 中断:来自很多地方(定时器、串口、DMA、SysTick、外部引脚...)
    • 外部中断:只来自 GPIO 引脚(EXTI)
  • 典型用途

    • 中断:定时任务、串口收发、DMA完成、系统滴答等
    • 外部中断:按键、外部信号触发、急停、传感器边沿
  • 工程里的例子

    • 串口接收中断:USART1_IRQHandler()
    • delay 用的 SysTick 属于"系统定时中断":delay.c 是用 SysTick 计数做延时

相关推荐
zlinear数据采集卡21 分钟前
D223上位机C#开发实战:从帧解析到波形显示的完整实现
开发语言·arm开发·嵌入式硬件·fpga开发·开源·c#
ACP广源盛1392462567326 分钟前
蚂蚁百灵 Ling‑3.0‑flash 开源 + 昇腾 0‑Day 原生适配@ACP#GSV9001E 在国产算力矩阵中的机会与落地场景
大数据·人工智能·分布式·单片机·嵌入式硬件
Rocktech_ruixun2 小时前
机器人端侧大模型部署对主板有哪些要求?瑞迅主控板分级方案对比
人工智能·嵌入式硬件·机器人
Lzh编程小栈3 小时前
【嵌入式底层】SPI超透彻详解:通信原理、四线结构、四种模式、寄存器底层 + 面试全集
c语言·stm32·单片机·面试·职场和发展
Rocktech_ruixun3 小时前
机器人数据采集能力取决于什么?瑞迅科技RK3588/3576核心板方案深度解析
人工智能·嵌入式硬件·机器人
水果里面有苹果4 小时前
28-DRV8825PWPR步进电机驱动器
单片机
恒锐丰科技韩生4 小时前
率能 SS6625E|3.0~20V 单通道 H 桥直流电机驱动 SOP8 电子锁玩具机器人分享
嵌入式硬件·硬件工程
zlinear数据采集卡4 小时前
D223 ADC数据处理流水线:从原始采样值到工程单位的完整转换链
开发语言·arm开发·嵌入式硬件·fpga开发·开源·c#
Dr.kangder5 小时前
嵌入式面试总结(十八)——JTAG调试
嵌入式硬件·面试·职场和发展·架构·嵌入式
恒锐丰科技韩生6 小时前
率能 SS6226|2.4~7.2V 低压双通道双 H 桥电机驱动 SOP16 玩具小家电专用芯片
嵌入式硬件·硬件工程