初级嵌入式软件工程师进行技术摸底常见问题
摘要:对初级嵌入式软件工程师进行技术摸底,需要围绕其核心能力(如底层开发、系统设计、问题排查等)、行业经验及深度技术理解展开。以下是一些典型的摸底问题:
1MCU 最小系统由哪些组成?
电源、复位电路、晶振、BOOT 配置、下载电路。
2时钟树作用?时钟源有哪些?
分配各外设时钟、分频倍频;内部 RC、外部晶振、PLL。
3GPIO 工作模式有哪些什么?
浮空输入、上拉 / 下拉输入、推挽输出、开漏输出、模拟输入、外设复用。
追问:开漏和推挽区别、适用场景?
答:推挽:高低电平强驱动;开漏:只能拉低,上拉电阻上拉,适合 I2C、总线线与。
4外部中断触发方式?
上升沿、下降沿、双边沿、电平触发。
5定时器有哪几种工作模式?
定时中断、PWM 输出、输入捕获、正交解码。
6PWM 原理、频率 / 占空比如何计算?
定时器计数 + 比较匹配;频率 = 时钟 / 分频 / 自动重装载值;占空比 = 比较值 / 重装载值。
7ADC 采集原理,如何提升采样精度?
逐次逼近采样;多次平均、硬件滤波、RC 滤波、屏蔽布线、稳定基准电压。
追问:为什么 ADC 要做软件滤波?常用滤波算法?
答:滤除电源 / 振动干扰;
均值、滑动平均、中值滤波、卡尔曼滤波等
8UART 串口通信原理,波特率误差影响?
异步串行收发;误差大导致乱码、丢包。
9I2C、SPI、UART 对比优缺点?
I2C:线少、慢;SPI:速度快、线多;UART:通用、简单、远距离。
追问1:I2C和SPI、UART各自引脚分别是什么?
答:I2C 是SDA和SCL两根线, SPI是需要CS CLK MISO MOSI四根线,
UART需要TX和RX两根线。
追问2:硬件 I2C 和软件 I2C 区别?
答:硬件:占用外设、稳定;软件 IO 模拟:兼容性强、跨芯片好、调试方便。
10什么是 DMA?使用场景?
硬件搬运数据,不占用 CPU;串口、ADC、SPI 大批量传输。
12硬件复位、软件复位区别?
硬件:外部引脚触发;软件:寄存器指令复位,有些芯片软件复位RAM数据保持不丢失。
13低功耗有哪几种模式?如何配置?
运行、休眠、停止、待机;关闭外设时钟、降频、关闭 IO、中断唤醒。
14掉电保存数据怎么做?
15介绍下MCU的启动流程
-
关闭全局中断,防止初始化阶段异常中断打乱流程; -
初始化系统必要寄存器; -
跳转至 __main 库函数(编译器自带)。
- 清零 .bss 段
未初始化全局变量、静态变量 → 全部赋值为 0 - 拷贝 .data 段
已初始化全局常量 / 变量 → 从 Flash 拷贝到 RAM


夜雨聆风