
期末周发现整本《嵌入式系统》教材还是新的这种事我见得太多。更常见的情况是平时实验课跟着模板改了两三个LED闪烁程序以为自己会了翻开卷子看到“分析STM32启动过程”“画出定时器PWM输出流程图”直接懵掉。这门课难就难在它同时考察硬件架构、寄存器操作、C语言指针、外设协议还有一部分需要动手的环境配置能力知识密度极高但学校课时又压得很紧。我自己当年也是这么过来的补考、专升本、考研复试都经历过非常清楚大家在这种速成场景下真正缺的是什么。不是缺“从头到尾再看一遍书”的耐心而是缺一条能把零散知识点串成体系的主线。今天这篇就来拆一拆这套《嵌入式系统 STM32 附环境搭建工具包》的5小时速成资源到底应该怎么用才最划算以及你在期末、补考、专升本、考研复试这几个不同场景里分别应该抓住哪些重点。1. 这套“5小时速成资源”到底在解决什么问题先说结论5小时不可能让你从零基础变成嵌入式开发高手它解决的是“在最短时间内把考试要考的东西理清楚、记牢靠”这件事。市面上很多速成课的问题在于老师默认你已经会了C语言和计算机组成原理上来就讲寄存器配置结果学生连GPIO是什么都还没搞明白。这套资源的核心价值我理解下来是三个关键词嵌入式系统知识体系、STM32实战操作、环境搭建工具包。前两个负责让你“懂”第三个负责让你“能跑通”。考试涉及笔试和实验操作两种形式很多学校期末成绩由笔试加平时实验成绩组成补考和考研复试也经常涉及实验操作环节。如果你只复习书本知识实验环节照样抓瞎这也是为什么“环境搭建工具包”被放在标题里的原因——它解决的是你连Keil都打不开、找不到芯片型号、不知道怎么写第一个工程的问题。我自己复习时踩过的最大坑是花了整整两天折腾开发环境然后才真正开始复习知识点。两天时间全耗在下载安装、版本匹配、驱动报错上这在期末周是极度奢侈的。速成资源把这一部分提前封装好等于帮你把“环境准备”这个纯消耗时间但毫无知识增量的环节压缩到最短。不过要注意的是这套资源更适合有一定C语言基础、听过课但没怎么消化的同学。如果你连指针、结构体、位运算这些基本概念都很陌生建议在开始5小时复习前先花2到3小时把C语言基础快速过一遍否则容易跟不上节奏产生挫败感。1.1 标题拆解考试速成、90目标、多场景适用“90”这个目标说实话速成课能不能保证完全取决于你原来的底子和复习时的执行力。但从应试角度来看嵌入式系统考试拿高分的核心策略是抓住固定考点、背熟标准答案、练熟典型题目。这门课不像数学那样灵活多变很多考点是固定套路。比如中断优先级配置的规则、定时器工作模式的选择、串口通信波特率的计算步骤翻来覆去就是那些知识点。速成资源的价值就是帮你把高频考点圈出来用来替代自己翻书找重点的时间。“期末速成、补考、专升本、考研复试可用”这句话我仔细想了下其实对应的是三种不同的备考策略期末和补考的题目结构比较固定选择题考察概念辨析填空题考察关键术语简答题考察原理陈述大题考察综合应用。这种场景下需要的是“广覆盖”加“重点记忆”复习时要把整本书的知识点都过一遍保证选择题和填空题不丢分。专升本的难度略高一些题型更偏向简答和综合题经常会有“结合实例说明某种外设的工作原理”这种需要灵活组织语言的题目光背结论不够得理解过程。考研复试则完全不一样面试环节导师更看重你对核心概念的深入理解可能会追问“为什么STM32的优先级分组是这样设计的”“如果让你设计一个低功耗系统你会怎么配置时钟”这种问题。这时你需要的不只是“知道是什么”还得能“说出为什么”甚至要能现场画流程图、写关键代码片段。所以这套资源在不同场景下的使用方式是不一样的后面我分别细说。1.2 嵌入式系统考试复习的底层逻辑为什么很多同学觉得嵌入式系统难复习我后来复盘发现根源在于这门课的知识结构天然分成三个层次而大多数人把三个层次混在一起学结果哪个都没学透。第一个层次是硬件架构层包括ARM Cortex-M3/M4内核的基本框架、存储器映射、时钟树、电源管理、启动模式这些内容。这部分偏向“硬”很多东西需要记忆比如地址分配规律、总线结构、启动文件的作用。第二个层次是外设工作原理层包括GPIO、定时器、串口、ADC、DAC、DMA、I2C、SPI这些外设的工作方式和配置逻辑。这部分需要“理解”比如定时器的预分频系数和自动重装值怎么组合出目标频率DMA传输的三大要素是什么理解了之后才能应对灵活变化的题目。第三个层次是软件编程与寄存器操作层包括寄存器操作、标准外设库、HAL库、中断服务函数编写、状态机设计等。这部分考试中以代码阅读和代码填空为主需要你能看懂典型外设初始化代码的执行流程。高效复习的核心就是先建起这张三层结构图然后对号入座地把知识点填进对应层次。机械记忆的东西放到层次一理解性的内容放到层次二动手操作的放到层次三。用这套方法去复习你会发现自己不再是零散地背一堆知识点而是真正在脑子里有了一张清晰的地图考试时碰到任何题都能快速定位到它在知识结构中的位置调用相应的内容来作答。2. 5小时速成复习流程4个阶段切开时间5小时说起来短其实利用得当可以产生远超5小时自习的效果。关键是要把时间切成几段每段专注解决一类问题。我按照这套资源的内容结构设计了一个4阶段复习法实测下来效率很高。2.1 第一阶段快速搭框架90分钟第一阶段的核心任务是花90分钟把嵌入式系统的整体知识框架建立起来。不要急着背细节先把骨架立住。具体做法是用2倍速过一遍视频中关于嵌入式系统概述的部分关注几个核心问题什么是嵌入式系统它和通用计算机系统有什么区别专用性、约束性、实时性、可靠性ARM处理器的家族谱系Cortex-M系列和Cortex-A系列的主要区别STM32芯片的命名规则比如STM32F103ZET6每个字母数字段是什么意思冯诺依曼结构和哈佛结构的区别以及STM32采用的是什么结构同时要建立存储器映射的概念。STM32的4GB地址空间怎么分配的Flash、SRAM、外设寄存器分别位于哪个地址区间这些虽然是记忆性内容但极其重要后面所有外设操作的代码都建立在地址操作的基础上。你可以想象整个4GB空间被分成不同街区Flash是存放程序的“书库”SRAM是存放临时数据的“便签纸”外设寄存器则是控制硬件的“开关面板”。理解了这张图后面学外设会轻松得多。这一阶段还要完成一个关键动作把教材的目录抄一遍。你没看错就是抄目录。我复习任何专业课都习惯这么做抄目录的过程其实就是梳理知识结构的过程。抄完目录把每章标题后面用三个词以内概括这章讲什么、和其他章节什么关系。如果概括不出来说明你对这章还没有整体印象标记出来第二阶段重点补。2.2 第二阶段核心外设逐个击破120分钟第二阶段是整个速成复习的主体任务是用120分钟攻克考试中出现频率最高的几个外设。按重要性排序嵌入式系统考试中外设相关的题目占比通常超过40%而这40%又高度集中在GPIO、定时器、串口、中断这四个模块上。如果时间紧张优先保证这四个模块熟练掌握。GPIO模块要掌握八种工作模式输入浮空、输入上拉、输入下拉、模拟输入、开漏输出、推挽输出、复用推挽、复用开漏各自的适用场景以及端口输出数据寄存器ODR、端口输入数据寄存器IDR、端口配置低/高寄存器CRL/CRH、端口位设置/清除寄存器BSRR这几个核心寄存器的操作逻辑。考试常见题型是给你一段初始化代码让你判断配置成了什么模式。定时器模块是STM32的重点也是难点。通用定时器、高级定时器、基本定时器的区别要清楚时基单元里预分频器PSC、自动重装载寄存器ARR和计数器CNT三者的配合关系必须掌握。这里有个高频考点怎么计算定时器的溢出频率。公式是定时器时钟频率除以PSC1再除以ARR1。考试时经常给你一个目标频率让你反推PSC和ARR的取值这时候要注意多个解的问题并学会合理选择。串口通信模块USART要掌握异步串行通信的数据帧格式起始位、数据位8/9位可选、奇偶校验位、停止位以及波特率的概念和计算方法。外部中断和事件控制器EXTI要掌握中断和事件的区别、中断服务函数的命名规则、NVIC优先级分组的概念。为了便于记忆我做了个表格给出每个外设“三个必须掌握”必须掌握的基本概念、必须掌握的寄存器、必须掌握的代码框架。第二个阶段结束后你已经把“永远不会不考”的核心知识拿下了。如果时间不够后面的内容甚至可以战略性放弃一部分但前面这四个模块一定不能丢。2.3 第三阶段环境搭建与实验操作60分钟这一阶段容易被纯理论复习的人忽略但恰恰是拿高分的关键。很多学校的考试题目里会出现实验操作题甚至在复试环节直接让你现场编程。这套资源自带的“环境搭建工具包”在这个阶段就派上用场了。正常时间你从零开始装Keil MDK、装芯片支持包、装ST-Link驱动搞不好要折腾一两天。工具包把这些整合好了但你仍然需要亲手操作一遍。60分钟的实操训练建议按这个流程走安装Keil MDK环境10分钟确认编译器的版本检查芯片包Keil.STM32F1xx_DFP是否安装成功。这里有个非常常见的坑装完了Keil新建工程时发现Device列表里找不到STM32十有八九是芯片包没装上。建立第一个工程20分钟新建工程选择具体芯片型号比如STM32F103C8T6添加启动文件配置魔术棒选项卡里的Debug选项为ST-Link Debugger然后编写一个最简单的GPIO控制LED的代码编译运行。烧录和调试20分钟连接ST-Link配置烧录算法把程序下载到开发板。这里要特别注意使用标准库时需要勾选Reset and Run选项这样程序烧录完后会自动复位运行否则每次都要手动按一次复位键。常见报错排查10分钟留出时间熟悉几种最高频的报错。比如编译时报“cannot open source input file ‘stm32f10x.h’”说明头文件路径没配好烧录时报“No ST-Link detected”说明驱动或者USB连接有问题报“Error: Flash Download failed - Cortex-M3”说明Flash算法配置不对或芯片型号没选对。2.4 第四阶段真题训练与查漏补缺30分钟最后30分钟用来做真题。这套资源如果配有题库或模拟题直接做。如果没有就找教材每章后面的复习题优先做简答题和综合应用题。做题时的策略是先闭卷做完全模拟考场状态。不会做的题目标记出来回看对应知识点。每道题做完后不管对错都要在题目旁边写下考察的知识点是什么。做完之后你会得到一个非常有价值的结论哪些知识点你花了大量时间背但根本没出题哪些知识点你没当回事结果反复出现。用这个结论指导最后阶段的重点补强效率会远超平均用力。比如你发现自己“中断优先级分组”的题目每次做每次错说明你把分组规则和抢占优先级、子优先级的响应逻辑混淆了。这时候不要重新看一遍视频而是集中精力把这一小块搞清楚。找人给你讲、查资料、反复看官方参考手册的相关章节都可以直到能不看资料把整个配置流程默写出来。3. 环境搭建工具包里的“隐藏考点”很多复习者忽略了一个问题环境搭建本身也是考点。面试和实验考试中导师或监考老师很可能现场让你说明Keil MDK工程的基本结构或者让你指出某个编译报错的原因。这些内容在你的笔试复习资料里通常没有但恰恰是拉分点。3.1 Keil MDK工程结构拆解不只是会点编译我先从Keil MDK工程最基本的组成部分说起。一个完整的STM32标准库工程由以下几个文件层次构成启动文件startup_stm32f10x_hd.s汇编编写负责初始化堆栈、设置中断向量表、调用SystemInit函数最后跳到main函数。这一层不需要你改写但考试有可能会问你启动文件是干什么的。系统文件system_stm32f10x.c/h提供SystemInit函数完成系统时钟的初始化配置让芯片以72MHz主频运行。标准外设库文件stm32f10x_gpio.c/stm32f10x_tim.c等ST官方提供的外设驱动函数库把寄存器操作封装成函数。考试阅读代码时看到的GPIO_Init()就是这里定义的。用户应用层main.c/stm32f10x_it.c等你自己写的业务逻辑以及中断服务函数。笔试中常考的工程结构类题目有以下几种形式给出一段main函数中的代码让你指出调用了哪些库函数、这些函数的作用让你解释“头文件包含的路径设置不当会带来什么问题”给你一份包含文件依赖的图让你指出哪些文件是必须的、哪些只是用来提高代码可读性的。我在实际搭建环境的时候还发现一个细节很多人在工程目录中创建了多个文件夹来分类存放不同模块的源代码文件但配置头文件包含路径时漏掉了某个文件夹导致编译报错“找不到头文件”。这个问题的本质是Keil编译器的include路径检索机制——它只会在你配置好的路径里逐级查找头文件找不到就报错。理解这一点后你再遇到这类报错就不会慌了按图索骥就能解决。3.2 STM32标准库、HAL库和寄存器开发的三岔口很多初学者会纠结一个问题考试复习到底以哪种开发方式为主这个问题其实没有统一答案取决于你的学校教的是哪种。但为了应对复试和工作实际需求三种方式的基本概念都要了解。寄存器开发是底层原生开发直接配置寄存器每一位代码最透明能让你真正理解硬件工作原理。缺点是代码量大、可读性差。考试时要求阅读寄存器代码的概率不大但如果你能看懂会大大加分。标准外设库StdPeriph_Lib是ST官方早期提供的函数库把外设初始化封装成结构体和函数的形式。比如要初始化GPIO你会定义一个GPIO_InitTypeDef结构体变量设置Pin、Mode、Speed三个字段然后调用GPIO_Init函数。这是国内很多教材和课程使用的方式考研复试的笔试部分如果涉及代码通常也是这种风格。HAL库Hardware Abstraction Layer是ST目前主推的库通过统一的API接口屏蔽了芯片型号差异配合STM32CubeMX图形化配置工具使用效率非常高。如果你参加了电赛或者做过实际项目大概率用的是HAL库。核心概念包括句柄Handle比如GPIO_InitTypeDef被内嵌在GPIO_InitHandleTypeDef结构体中、三个回调函数机制MspInit回调、MspDeInit回调、中断回调等。我的建议是笔试以你学校教的那种方式为主但工具箱里至少要知道HAL库是干什么的。复试时如果导师问“你用过什么开发方式”能把三种方式的优缺点说清楚会很加分。3.3 常见环境报错的完整排查链路下面我列几个搜索热度最高的环境报错给出一套完整的排查思路。这套思路不是背下来的而是来自自己折腾环境的真实经验。报错1No STM32 Target Found翻译过来就是“找不到STM32目标芯片”。出现这个问题时很多人第一反应是换线、换接口其实正确的排查顺序应该是确认ST-Link驱动是否安装成功。打开设备管理器看在“通用串行总线设备”或“端口”下面能否看到ST-Link设备。如果显示黄色感叹号说明驱动有问题重新安装ST-Link驱动。确认ST-Link和开发板的连接方式是否正确。SWD模式只需要四根线SWDIO、SWCLK、GND、3.3V可选但千万不要把SWDIO和SWCLK接反了。确认开发板供电是否正常。如果板子没有独立供电需要从ST-Link取电此时要确认ST-Link的引脚电压和开发板I/O电平一致一般都是3.3V。最后检查Keil的Debug选项里是否选择了正确的调试器ST-Link Debugger以及Settings中能否检测到芯片IDCODE。如果IDCODE显示全FF或者Unknown说明连接还是有问题。报错2Error: Flash Download failed - Cortex-M3这个报错我当年第一次遇到时完全抓瞎。后来经验多了才发现80%的原因是Flash下载算法的配置跟芯片型号不匹配。在Keil里打开Options for Target切到Utilities选项卡点Settings在Flash Download区域确认Programming Algorithm里选择的算法是“STM32F10x Med-density Flash”之类的正确型号。如果你的芯片是512KB Flash却选了Low-density的算法就会出现这个报错。另一个原因就是芯片被读保护了RDP Level 1。这种情况需要用ST-Link Utility把芯片的读保护等级降到Level 0再进行烧录。报错3Cannot access target。 Shutting down debug session这个报错通常出现在连接目标板时硬件连接没问题但芯片核心被锁死或休眠。解决办法是按着开发板的复位键不放点击“Connect”按钮的同时松开复位键利用复位瞬间的空档期让调试器连上芯片然后把芯片擦除。这招我试过很多次非常实用。报错4ST-Link驱动报错或虚拟串口有黄色感叹号出现“STM32 Virtual ComPort”带黄色感叹号的情况通常是因为驱动被系统识别为未知设备。Windows系统下有时会强制使用内置的winusb驱动导致ST官方的虚拟串口驱动无法加载。手动在设备管理器里更新驱动指向ST-Link驱动目录下的VCP文件夹强制替换驱动即可。4. STM32核心考点的易错点与失分陷阱速成复习最大的风险不是“没看到”而是“看到了但记错了”。下面这几个考点属于学生常犯错误的重灾区我来逐一拆解。4.1 定时器计算题PSC和ARR配合时的坑定时器溢出频率的计算公式出来了但考试时的坑往往不在公式本身而在细节设定上。假如题目说“定时器时钟频率为72MHz要求产生1kHz的定时中断设计PSC和ARR”你的第一反应可能是直接计算72MHz除以1kHz等于72000。然后你选择PSC71、ARR999因为711乘以9991正好等于72000。这个答案看起来正确但如果在系统中需要这个定时器同时做PWM输出而PWM输出频率取决于ARR那么你的设计空间就被压缩了。还有一个更隐蔽的易错点定时器计数器和自动重装载寄存器的取值范围上限。STM32F1系列通用定时器是16位PSC和ARR的最大值是65535。如果题目的目标频率很低比如1Hz那么PSC和ARR的乘积需要达到72000000远超16位范围这时就必须考虑两种方案一是使用定时器的时钟分频功能内部时钟分频可以有2、4分频二是用两个定时器级联或者改用系统时钟计数。考试时如果忽略寄存器位宽限制计算结果在物理上无法实现这道题基本就拿不到分了。解题时必须检查的三步确认PSC和ARR的乘积是否超过16位最大值65535确认PSC和ARR的取值范围都在0到65535内确认计算出的溢出频率是否符合题目的精度要求4.2 中断系统中的NVIC优先级分组最容易混淆的难点STM32的中断系统远比51单片机复杂NVIC优先级分组是考试大题的高频题源也是失分重灾区。NVIC优先级分组库函数是NVIC_PriorityGroupConfig()参数有5种NVIC_PriorityGroup_0到NVIC_PriorityGroup_4。分组决定了4位优先级如何拆分成“抢占优先级”和“子优先级”两个部分。以Group_2为例4位中高2位是抢占优先级低2位是子优先级所以抢占优先级和子优先级的取值范围都是0到3。这4位组合在一个字节的高4位存储所以用NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority 0x03而不是0x30这种赋值方式是错的正确做法是直接赋0~3这个范围内的数值库函数内部会帮你移位。关于抢占优先级和响应优先级的区别是面试中经常被问到的点。抢占优先级高可以打断当前正在执行的低优先级中断这是“抢占”的核心特性响应优先级子优先级只在抢占优先级相同的两个中断同时发生时决定谁先执行不能打断已经进入的中断。很多人误以为只要子优先级高也能打断这是完全错误的。4.3 时钟树的理解一切的源头时钟树是STM32的灵魂考试中很多题目的背景都建立在“时钟源选择和分频倍频关系”上。STM32有五个时钟源高速内部时钟HSI RC、高速外部时钟HSE OSC、低速内部时钟LSI RC、低速外部时钟LSE OSC、锁相环PLL。系统复位后的默认时钟来自HSI8MHz而标准库工程中SystemInit会配置成使用HSE外部晶振通常8MHz作为时钟源经过PLL倍频后输出72MHz作为系统主时钟SYSCLK。考试高频题会让你画出简化的时钟树并标出以下时钟路径SYSCLK系统时钟→ AHB总线时钟HCLK→ APB1外设时钟PCLK1最大36MHz→ APB2外设时钟PCLK2最大72MHz。对于定时器当APB1预分频系数不为1时定时器时钟会翻倍PCLK136MHz时定时器时钟72MHz。很多人在计算定时器频率时直接使用PCLK1导致结果差了一倍而如果题目给的配置是APB1分频系数等于1那么定时器时钟就等于PCLK1这是个容易迷惑人的陷阱。4.4 串口通信波特率计算USART波特率计算题也是高频题型。STM32的USART波特率寄存器是一个16位的USARTDIV实际为12位有效位加4位小数位波特率计算公式为波特率 时钟频率 /16 × USARTDIV举个例子使用USART1挂在APB2上时钟频率为72MHz要产生115200bps的波特率。USARTDIV 72000000 /16 × 115200≈ 39.0625。寄存器里存放的就是39.0625对应的16进制数整数部分390x27小数部分0.0625 × 16 14位小数位。所以USARTDIV寄存器的值为0x271。很多人在这一步算错因为小数部分换算成4位二进制时需要乘以16取整数而不是直接把小数当作0到15之间的数。理解了公式后考试中变着花样出的“波特率误差分析”题也就有了解法。因为USARTDIV的寄存器位数有限实际配置值和理论值之间总会存在误差当波特率很高时误差会被放得很大导致通信不稳。标准要求误差小于2.5%实际工程建议小于0.2%。5. 不同考试场景的差异化复习策略前面把知识点和易错点都过了一遍最后根据你面临的具体考试类型说一下侧重点怎么分配。5.1 期末/补考突围计划Day 1按前面说的4阶段复习法用完整5小时把全流程走一遍。如果时间不够重点把第一、二阶段完成环境和真题训练各压缩到45分钟和15分钟。Day 2约3小时分配策略是60%时间做学校历年真题40%时间根据错题回补知识点。重点回归基础概念和外设计算题因为期末考试大题通常不超过定时器、串口、中断这三个范围。Day 3冲刺约1.5小时快速扫一遍概念性内容把容易混淆的表格GPIO八种模式对比、三种定时器对比、中断优先级分组对照再背一遍其他时间全部用来翻错题。这个计划的核心思路是不要把战线拉太长速成课的精髓是短期内高强度密集输入三天内能把核心考点记牢应对期末补考绰绰有余。当然前提是你没有完全放弃这门课至少听过课、知道教材长什么样。5.2 专升本备考调整专升本比期末多考察“原理性分析”简答题往往不是“What”而是“Why”。所以复习时对每个概念至少要能回答“为什么这么设计”。备考周期建议更长一些考前两周开始每周看一遍速成课视频配合大量简答题书写练习。专门花时间训练自己“把流程图画出来再描述”的能力因为专升本的阅卷老师往往更看重步骤完整性。5.3 考研复试的进阶要求考研复试与笔试最大的区别是老师会追问会挖细节。你说“我配置了串口波特率为115200”老师可能追问“你知道为什么误差能控制在可接受范围内吗”“如果换一个晶振频率波特率误差会怎么变”。这些问题考察的已经不单纯是知识点记忆而是你是否真正理解芯片内部工作机制。复试复习建议把5小时速成课看完后对每个外设额外做一次“为什么”问答练习为什么定时器需要预分频器为什么GPIO需要配置速度环境搭建环节要格外熟练复试现场经常有“现场写一段GPIO初始化的代码”“现场配置一个串口接收中断”这类题目你要能直接手写代码不能依赖自动补全准备一段“项目经历”作为谈资哪怕只是用STM32做了一个温湿度监测系统也要能流利地讲清楚系统架构、传感器协议、数据处理流程、遇到的问题和解决方案6. 写在最后速成课的正确打开方式说到底所谓“5小时掌握嵌入式系统全部内容”本质上是帮你把学习路径上的弯路去掉把高频考点压缩到最精华的程度而不是替你把所有知识学完。它就像是考前的一个“导航”先把地图指给你看告诉你哪些路是必经之路、哪些地方容易出事故但最终走完全程的还是你自己。我自己最后一年复习嵌入式系统时也经历过刷完速成课、信心满满上考场、结果被一道“启动模式引脚配置”的题目问住的尴尬。回头检讨才发现问题不在于知识点本身有多难而在于我把“听懂”当成了“掌握”没有及时做题验证。所以不管多火的速成资源拿到手之后一定要搭配真题训练至少在看完每个章节后做几道对应题目确认自己真的记住了。如果你现在时间确实已经很紧也不用慌。这套5小时速成资源的价值恰恰在于“收拢注意力”——你不需要再把时间花在找资料、装环境、看得懂看不懂的教材上只要跟着课程节奏走及时整理输出把80%的核心考点拿下剩下20%的边角料用真题补漏即可。再分享一个非常实用的小技巧复习过程中把自己搞不懂的问题都写在便利贴上贴在书桌前面。每解决一个就撕掉一张。不要小看这个动作它能让你的焦虑值下降一个量级因为人的大脑会不断反复思考未完成的任务写下来贴出来反而等于告诉大脑“这件事我已经记录在案了你不用一直提醒我”。遇到完全查不到、问不到的问题整理出来去网上搜相关讨论帖通常都能找到答案。嵌入式系统这门课说难确实难说容易也容易。当你能把寄存器操作、库函数封装、硬件外设原理三者结合起来看的时候考90分只是顺带的结果。希望这篇拆解能帮你找到那条“顺带拿高分”的路。