[!NOTE]
关键字
inline
的作用
inline
是 C/C++ 中的关键字,用于建议编译器将函数内联展开(即在调用处直接插入函数代码,而非生成函数调用指令)。它的主要影响包括:
选项 描述 是否正确? 原因 A:降低栈内存的消耗 ✅ 正确 ✔️ 内联函数避免了函数调用的栈帧开销(如参数压栈、返回地址保存等),从而减少栈内存使用。 B:可以提高代码的运行效率 ✅ 正确 ✔️ 内联消除了函数调用的开销(跳转、返回等),可能提升运行效率(但过度内联可能导致代码膨胀,反而降低缓存命中率)。 C:可以提高微控制器访问内部寄存器的速度 ❌ 错误 ✖️ inline
与寄存器访问速度无关,这是由硬件和编译器优化决定的,而非内联函数的功能。D:程序中大量使用,会增大代码编译后的可执行文件的大小 ✅ 正确 ✔️ 内联会导致函数代码被多次复制到调用处,若滥用会显著增加二进制文件大小。
[!NOTE] 答案:D,最高位为1,为负数,负数的补码等于反码取反+1,负数取反符号位不变,得11010100,+1得11010101
[!NOTE] D:AHB2 在 STM32G4 系列中,GPIO 外设是挂载在 AHB2 总线 上的,因此需要在 RCC 的 AHB2 外设时钟寄存器 (RCC_AHB2ENR) 中使能对应的 GPIO 端口时钟。
总结:选项解析
选项 | 内容 | 正确性 | 原因 |
---|---|---|---|
A | 具有电流放大作用 | ✅ | 三极管的核心功能(基极电流控制集电极电流)。 |
B | 内部有2个PN结 | ✅ | 发射结+集电结,缺一不可。 |
C | 具有单向导电性 | ❌ | 这是二极管的特性,三极管工作模式复杂,无单向性。 |
D | 有集电区、基区、发射区 | ✅ | 三极管的基本结构组成。 |
[!NOTE] 三极管由三个半导体区(发射极、基极、集电极)组成,内部包含两个PN结(BE结和BC结)。
[!NOTE]
各选项电路的常见应用场景
A. 同相比例电路
• 功能:对输入信号进行线性放大(增益由电阻决定)。
• 典型应用:
• 信号放大(如传感器信号调理)。
• 阻抗匹配(高输入阻抗,低输出阻抗)。
• 不适用场景:波形转换(仅放大幅度,不改变形状)。B. 同相求和电路
• 功能:将多个输入信号加权相加。
• 典型应用:
• 音频混频(混合多路信号)。
• 传感器信号融合(如温度+压力信号叠加)。
• 不适用场景:波形转换(仅叠加信号,不改变单个波形特性)。C. 微分电路
• 功能:输出信号与输入信号的变化率(导数)成正比。
• 典型应用:
• 三角波→方波转换(如本题)。
• 边缘检测(脉冲信号生成)。
• 控制系统中的误差微分补偿(PID控制器中的D项)。
• 注意事项:对高频噪声敏感,需配合低通滤波。D. 积分电路
• 功能:输出信号与输入信号的积分(时间累积)成正比。
• 典型应用:
• 方波→三角波转换(与微分电路相反)。
• 模拟计算(如求解微分方程)。
• 电源中的PWM滤波(转换为直流电平)。
• 注意事项:需防止运放饱和(添加复位电路)。
总结:如何选择电路?
需求 | 适用电路 | 示例 |
---|---|---|
放大信号幅度 | 同相比例(A) | 放大麦克风信号 |
混合多路信号 | 同相求和(B) | 音频混音器 |
三角波→方波转换 | 微分(C) | 信号发生器、触发电路 |
方波→三角波转换 | 积分(D) | PWM转模拟电压 |
[!NOTE]
关键区别:
• 微分(C)和积分(D) 是波形转换的核心电路,但作用相反。
• 比例(A)和求和(B) 仅处理信号幅度或叠加,不改变波形本质。
建议结合具体需求(如是否需要波形变换、信号放大或混合)选择电路类型。
有源元件 vs. 无源元件
特性 | 有源元件 | 无源元件 |
---|---|---|
能量需求 | 必须外接电源供电 | 无需外部电源 |
功能 | 放大、开关、振荡、信号控制 | 消耗、存储或滤波能量(无增益) |
典型例子 | 晶体管、运放、逻辑芯片 | 电阻、电容、电感 |
[!NOTE] 此类题目去手册memory map找
[!NOTE]
1. 同步串行(Synchronous Serial)
- 定义:数据按单一位流依次传输,发送方和接收方通过共享时钟信号同步时序。
- 核心特点:
- 单数据线:逐位传输(如I²C、SPI、UART*)。
- 时钟同步:发送和接收端共用时钟(CLK)信号,确保时序一致。
- 低引脚数:节省硬件资源(适合远距离或引脚受限场景)。
- 典型应用:
- 传感器通信(如温度传感器通过I²C传输数据)。
- 存储器读写(如SPI接口的Flash芯片)。
*注:UART本质是异步串行,但可通过外部时钟同步化。
2. 同步并行(Synchronous Parallel)
- 定义:数据通过多根数据线并行传输,所有位在同一时钟周期内同步发送。
- 核心特点:
- 多数据线:每位占用一条物理线(如8位数据需8根线)。
- 时钟同步:时钟信号控制所有线路的同步采样。
- 高速传输:单时钟周期完成多比特传输(理论速度更快)。
- 典型应用:
- 高速内存接口(如DDR SDRAM)。
- 早期CPU与外围芯片通信(如ISA总线)。
[!NOTE] 专用引脚加起来有大约12个(比如4个VDD,4个VSS,1个NRST,2个OSC,2个SWD,可能还有其他),那么剩下的IO数目大概是64-12=52个
[!NOTE] ==指数部分
1.2
是小数,违反指数必须为整数的规则。==
- ==- 错误:
2e1.2
(指数非整数)、1.2e3.4
(指数非整数)。==
- ==正确:
2e+3
(正指数符号可省略)、1e-5
(负整数指数)。==
[!NOTE]
- RS触发器的约束口诀:“RS=11是禁忌,输出混乱要规避”。
- JK触发器的优势:“JK无约束,11可翻转”。
[!NOTE] Title 注意得用变化的集电极电流除以基极电流 β定义为三极管放大倍数
[!NOTE] 这道题目考察的是数字电路中组合逻辑电路和时序逻辑电路的分类理解。我们可以通过以下逻辑进行分析:
- 核心概念区分:
- 组合逻辑电路:输出仅由当前输入决定(无记忆功能),如编码器、译码器、数据选择器、加法器。
- 时序逻辑电路:输出不仅取决于当前输入,还与电路原来的状态有关(有存储功能),如计数器、寄存器、移位寄存器。
选项解析:
- A. 编码器(组合逻辑):将特定输入信号转换为二进制编码,无状态存储。
- B. 计数器(时序逻辑):通过触发器记录脉冲个数,具有状态存储和更新功能。
- C. 译码器(组合逻辑):将二进制编码转换为特定输出信号,无状态依赖。
- D. 数据选择器(组合逻辑):根据选择信号输出对应输入通道的数据,无记忆。
关键判断依据:
时序电路必须包含存储元件(如触发器),而计数器内部由触发器构成,能够通过时钟信号实现计数状态的保存和递进。其他三个选项均不涉及状态存储。记忆技巧:
- 联想"时序"与"时间顺序",需要记录状态变化的电路(如计数、存储)属于时序逻辑。
- 常见时序电路:计数器、寄存器、序列检测器。
- 常见组合电路:编码/译码器、数据选择/分配器、加法器、比较器。
通过理解电路是否具备"记忆能力",可以快速判断此类题型。
[!NOTE]
核心概念解析
穿透电流ICEO:指基极开路时(IB=0),集电极-发射极之间的漏电流。它由少数载流子的漂移运动形成,是衡量晶体管性能的重要参数。
选项逐项分析
A:温度稳定性(正确)
- 原因:ICEO对温度极为敏感。温度升高 → 本征激发增强 → 少数载流子浓度增加 → ICEO显著增大。
- 意义:ICEO的大小直接反映晶体管在不同温度下的稳定性。若ICEO过大,高温下可能导致晶体管热失控。
B:最大电流极限参数(争议性正确)
- 争议点:传统上,晶体管的最大电流极限参数是ICM(集电极最大电流),而非ICEO。ICEO是微安级漏电流,远小于极限电流。
- 可能的出题逻辑:若题目将ICEO视为“设计时需限制的参数”(如过高的ICEO可能影响可靠性),则B可视为正确。但需注意,严格来说ICEO不属于“允许通过的最大电流”。
C:放大能力(错误)
- 原因:放大能力由电流放大系数β(或hFE)决定,与ICEO无直接关系。
D:频率特性(错误)
- 原因:频率特性与结电容、载流子渡越时间相关,而ICEO反映的是漏电流特性。
用户得分0分的原因
- 正确答案需同时选A和B:用户仅选择B,漏选A导致未得分。
- 关键误区:可能误将ICEO与极限电流参数(如ICM)关联,但未意识到其温度敏感性的核心作用。
记忆技巧
- 穿透电流的两面性:
- 温度稳定性(A):联想“温度升高→漏电流飙升→稳定性差”。
- 极限参数(若题目接受B):需注意题目可能的隐含设定,但实际应用中需区分ICEO与ICM。
- 排除法:
- 放大能力(C)→ 直接排除(与β相关)。
- 频率特性(D)→ 排除(与结电容相关)。
总结
- 核心考点:穿透电流ICEO的双重特性(温度稳定性 + 设计限制参数)。
[!NOTE]
核心解题思路
运算放大器的两种工作状态:
- 线性区:输出信号与输入信号成比例关系(实现放大功能)。
- 非线性区(饱和区):输出信号为电源电压的正/负极限值(用作比较器或开关)。
关键条件:负反馈
- 运算放大器要工作在线性区,必须引入负反馈(将输出信号通过反馈网络送回反相输入端)。
- 作用:
- 抑制开环增益的极高不稳定性(典型开环增益为 105∼106)。
- 通过负反馈调整闭环增益,使输出与输入保持线性关系。
选项排除分析:
- B. 正反馈:会导致输出迅速饱和(进入非线性区),无法线性放大(例:振荡电路)。
- C. 开环:无反馈时运放开环增益极大,输入微小差异即饱和,无法稳定放大。
- D. 振荡:属于非线性应用(需正反馈),与线性放大无关。
记忆技巧
- 联想公式:线性放大 → Vout=ACL⋅(V+−V−)(ACL 为闭环增益,由负反馈决定)。
- 对比应用场景:
- 负反馈:放大器、滤波器、积分电路(线性应用)。
- 正反馈/开环:比较器、施密特触发器、振荡器(非线性应用)。
常见误区提醒
- 误区:“运放必须开环才能放大信号”。
- 纠正:开环时运放极易饱和,实际放大电路必须通过负反馈闭环工作。
- 误区:“正反馈可以稳定放大信号”。
- 纠正:正反馈会加速输出进入饱和状态,破坏线性关系。
总结
- 核心结论:负反馈是运放工作在线性区的必要条件。
- 答题关键:直接关联“线性区”与“负反馈”,排除其他非线性工作模式。
[!NOTE]
- ROM(Read-Only Memory,只读存储器):通常指Flash Memory,用于存储程序代码和常量数据(如代码固化后不可修改)。
- RAM(Random Access Memory,随机存取存储器):用于存储临时变量和运行时数据(易失性,断电丢失)。
- 寄存器:CPU内部的存储单元,用于指令执行和临时操作,不存储程序代码。
- E2PROM(Electrically Erasable Programmable ROM):可擦写的非易失性存储器,用于存储配置参数等需长期保存的数据。
[!NOTE]
A. RCC(正确)
- 中断类型:RCC(Reset and Clock Control)相关中断,如时钟安全系统(CSS)中断、PLL就绪中断等。
- 优先级配置:
- 属于可屏蔽中断,优先级通过NVIC(嵌套向量中断控制器)配置。
- 例如,CSS中断的优先级可设置为低于其他关键中断(如NMI),但高于普通外设中断。
- 用户可能误解:误认为RCC是系统核心功能(如时钟配置)的中断优先级不可调,但实际优先级是可配置的。
B. NMI(错误)
- 中断类型:NMI(Non-Maskable Interrupt,不可屏蔽中断),用于处理严重硬件错误(如电源故障)。
- 优先级配置:
- 优先级固定为最高(逻辑优先级最高,不可修改)。
- 无法通过NVIC或其他方式调整优先级。
- 用户错误原因:可能混淆了“不可屏蔽”与“优先级不可配置”的关系,误认为NMI优先级可调。
C. HardFault(错误)
- 中断类型:HardFault(硬件错误异常),由非法操作(如访问未定义内存)触发。
- 优先级配置:
- 优先级固定为-1(最高优先级),属于系统级异常,不可配置。
- 任何优先级配置操作对HardFault无效。
- 关键区别:HardFault是异常(Exception),而非普通中断,优先级机制与中断不同。
D. Systick(正确)
- 中断类型:Systick(系统定时器中断),用于操作系统任务调度或定时触发。
- 优先级配置:
- 优先级通过NVIC配置,与普通外设中断相同。
- 例如,在RTOS中可降低Systick优先级以避免影响高实时性任务。
- 用户可能忽略:误认为Systick是内核功能优先级固定,但其优先级可自由设置。
[!NOTE]
- 许多同学一眼看见有“+3 V”和“+9 V”两条支路,就会直觉认为输出可能会是 3 V 或 9 V,结果往往忽略了那条最关键的“通向 0 V”支路。事实上,因为“通向 0 V” 的二极管最先导通,输出会被它死死地钳到 0 V,根本“上不去”3 V 或 9 V。
[!NOTE]
D: 可以通过软件控制SysTick定时器启动和停止
正确
通过设置控制寄存器(CTRL)的ENABLE位,可直接用软件启动或停止SysTick计数器。例如:
1 2
SysTick->CTRL |= SysTick_CTRL_ENABLE_Msk; // 启动 SysTick->CTRL &= ~SysTick_CTRL_ENABLE_Msk; // 停止
[!NOTE]
“跨平台可移植(D)”并非嵌入式系统的普遍特征
嵌入式系统通常“紧耦合”硬件
对特定硬件平台进行了定制优化,大量驱动、库函数都与目标硬件的寄存器、外设紧密关联。
要想“跨平台移植”,往往要重新适配甚至重写底层驱动、硬件抽象层,远没有通用 PC 软件那样“轻松”移植。
跨平台可移植更多是通用软件的特点
例如使用高级语言编写的桌面应用、跨平台库(Qt、Java 虚拟机等)等,编译或运行时只要目标平台能提供兼容环境,就能跑起来。
而嵌入式软件因其“贴近底层硬件、资源有限、功能定制”等特点,移植并非轻而易举。
虽然部分嵌入式 RTOS 或应用层可以做到一定程度的可移植性,但这并不是所有嵌入式系统的共性。不少教材或考试题更倾向于强调嵌入式的“专用、定制、不可随意跨平台”的一面,因此D 往往被排除。
[!NOTE] 在电子技术里,当题目说“电压增益为 -20 dB”时,指的是用分贝(dB)来度量“电压增益(Voltage Gain)”这一物理量。关键公式是:
Av(dB)=20×log10(Av)A_{v}(dB) = 20 \times \log_{10} \bigl(A_{v}\bigr)
其中 AvA_{v} 是线性电压增益(即“倍数”形式的增益),Av(dB)A_{v}(dB) 是分贝形式的电压增益。根据题意,已知
Av(dB)=−20 dBA_{v}(dB) = -20 \text{ dB}
那么就可以列方程:
−20=20×log10(Av)-20 = 20 \times \log_{10}\bigl(A_{v}\bigr)
接下来一步步求解:
把 20 移到左边
log10(Av)=−2020=−1\log_{10}\bigl(A_{v}\bigr) = \frac{-20}{20} = -1
对数换为线性量
Av=10−1=0.1A_{v} = 10^{-1} = 0.1
所以当电压增益为 -20 dB 时,对应的线性电压增益是 0.10.1 倍(也可以理解为衰减 10 倍)。因此题目中的正确答案是 0.1 倍。
[!NOTE] 从题目与选项来看,这道题考察的是多级放大电路的通频带(带宽)随级数增加而变化的规律。题目给出的选项是:
A:变宽
B:变窄
C:不变
D:无关
而“正确答案:B”,说明多级放大电路的通频带会变窄。下面是推理过程:
1. 多级放大电路的频率特性叠加
一个单级放大电路在其高频端和低频端都会受到各种因素(如电容、电感、寄生参数等)的影响,从而在某个频段内保持较好的增益。当把若干单级放大电路串联(多级放大)时,总的通频带(带宽)会受到各级放大电路频率特性的共同制约。
在低频端:耦合电容、旁路电容以及输入/输出耦合电容等,都会对低频响应产生影响;多级串联后,低频端的截止点可能会上移。
在高频端:器件本身的寄生电容、电感等导致的高频滚降,随着级数的增加也会更明显;多级串联后,高频端的截止点会更早下降。
因此,从整体来看,多级放大电路的通频带往往比单级放大电路变窄。
2. 理论依据:极点与零点的叠加
在“网络理论”或“控制理论”的角度,每级放大电路都可以用相应的极点和零点来描述它的频率响应。串联多级放大器时,其传递函数相当于各级传递函数的连乘:
Htotal(s)=H1(s)×H2(s)×⋯×Hn(s)H_{\text{total}}(s) = H_1(s) \times H_2(s) \times \cdots \times H_n(s)
每个 Hi(s)H_i(s) 都有自己的一组极点和零点;
连乘后,极点和零点会叠加到一起,通常会使得总带宽变得更窄。
3. 结论
由于多级放大器的总通频带是各级通频带综合作用的结果,而每级的高低频衰减特性相叠加后,往往导致整体频率范围(带宽)变窄,这是理论与实际中都能观察到的普遍规律。所以正确答案为 B:变窄。
[!NOTE]
1. 7 位地址模式
最常见、最普及的地址模式就是 7 位地址模式。
7 位地址占据总传输字节中的高 7 位,第 8 位则通常用来表示读/写位(R/W)。
2. 10 位地址模式
在某些场合下,需要更多设备地址时会采用 10 位地址模式。
10 位地址模式时,会使用一个特定的前缀(如 11110XX)来表示这是 10 位地址,然后再后续的字节里传送剩余的地址位。
3. “8 位”与“4 位”的误解
- 有人将“7 位地址 + 1 位读写标志”误以为是“8 位地址”,但在 I²C 协议定义中,读写标志并不计入地址位数,因此**不存在“8