单片机基础核心知识点汇总(三)

目录

前言

一、中断系统

二、中断优先级

三、低功耗模式

四、寄存器开发

[五、库函数开发(STM32 HAL 库 / 标准库)](#五、库函数开发(STM32 HAL 库 / 标准库))

六、寄存器与库函数怎么选

七、常见异常问题

小结


前言

前两篇讲解了单片机硬件基础与片上外设,本篇重点讲中断体系、中断优先级、低功耗模式、寄存器与库函数差异,属于从简单点灯到做实际项目的进阶理论,也是面试高频考点。

一、中断系统

1.什么是中断;

  • CPU 正在执行主循环代码,外部 / 内部事件到来,暂停当前任务,跳转去执行中断服务函数,处理完再回到原来代码继续运行。 不用循环轮询,提升程序实时性。

2.中断分类:

  • 内部中断:定时器溢出、ADC 转换完成、串口接收完成等片内外设产生
  • 外部中断 EXTI:GPIO 引脚电平变化触发,按键、外部信号触发

3.中断服务函数:

  • 中断发生后执行的函数,执行时间要尽可能短,不要写延时、复杂运算、大循环。
  • 只做标记、赋值,复杂逻辑放到 while (1) 主循环处理。

二、中断优先级

  1. 抢占优先级:高抢占优先级可以打断正在执行的低抢占优先级中断。
  2. 响应优先级:抢占优先级相同时,先执行响应优先级高的;不能打断正在运行的同抢占级别的中断。
  3. 开发注意
  • 不要设置过多高抢占优先级中断,防止程序卡死。
  • 重要实时任务分配高抢占优先级。
  • 中断嵌套慎用,新手尽量减少多层嵌套。

三、低功耗模式

单片机不止可以全速运行,支持多种省电模式,电池供电项目必用。

  1. 运行模式:CPU、外设全部工作,功耗最高。
  2. 睡眠模式:CPU 停止,外设、时钟继续工作,中断唤醒。
  3. 停止模式:大部分时钟关闭,仅保留部分外设,功耗大幅降低,外部中断唤醒。
  4. 待机模式:功耗最低,仅备份寄存器工作,复位或者特定中断唤醒。
    使用要点:进入低功耗前关闭不用外设;唤醒依靠中断;电池产品重点使用。

四、寄存器开发

  1. 寄存器就是芯片内部的配置寄存器,每一位对应一个功能开关、参数。 直接读写寄存器地址完成配置,不需要封装库。
  2. 优点:执行效率极高,代码量小,理解芯片底层工作。
  3. 缺点:可读性差,需要查阅大量参考手册,开发速度慢,容易写错位。
  4. 适用:对时序、性能要求极高的场景。

五、库函数开发(STM32 HAL 库 / 标准库)

  1. 库函数是厂商封装好的函数,内部帮我们操作寄存器,开发者调用 API 即可。
  2. 优点:代码可读性好,开发速度快,不用死记寄存器,新手主流开发方式。
  3. 缺点:会有少量额外开销,部分特殊功能需要自己操作寄存器补充。
  4. 新手建议:优先学 HAL 库,有空回头看寄存器,理解底层原理。

六、寄存器与库函数怎么选

  1. 入门阶段:优先库函数,快速做项目。
  2. 进阶阶段:看懂库函数源码,对应手册看懂寄存器。
  3. 极致性能:关键时序部分直接操作寄存器。

七、常见异常问题

  1. 中断函数写长延时、大循环 → 系统卡顿、丢数据。
  2. 中断优先级配置错误,出现中断卡死。
  3. 忘记开启外设时钟,外设完全不工作。
  4. 低功耗模式下忘记配置唤醒源,芯片无法唤醒。
相关推荐
嵌入式阿蔡1 小时前
CAN总线入门:从协议帧到STM32实战
c语言·stm32·单片机·嵌入式硬件·嵌入式实时数据库
恒锐丰科技韩生2 小时前
率能 SS8847E|2.7~15V 双通道 H 桥电机驱动 ETSSOP16 散热封装 家电 / 打印 / 舞台灯光专用
嵌入式硬件·硬件工程
离凌寒2 小时前
一、对stm32mp157配置freertos后,任务挂掉无法启动问题总结
stm32·单片机·嵌入式硬件
Hello_Damon_Nikola5 小时前
CH573从入门到精通
c语言·开发语言·单片机·嵌入式硬件
oshan20125 小时前
华大小华HC32F460单片机在线烧录
单片机·嵌入式硬件
LCG元5 小时前
STM32 USB HID 自定义免驱设备开发:从报告描述符到上位机 64 字节收发实战
stm32·单片机·嵌入式硬件
Hello_Damon_Nikola5 小时前
HT2813从入门到精通
单片机·嵌入式硬件·物联网
天空'之城6 小时前
单片机基础核心知识点汇总(二)
单片机·嵌入式硬件
恒锐丰-罗生6 小时前
宽压降压电源新选择|CN8610 60V/1A 异步降压芯片,车载 / 工业 IoT 一站式解决方案
嵌入式硬件·硬件工程