乐于分享
好东西不私藏

初级嵌入式软件工程师进行技术摸底常见问题

初级嵌入式软件工程师进行技术摸底常见问题

摘要:对初级嵌入式软件工程师进行技术摸底,需要围绕其核心能力(如底层开发、系统设计、问题排查等)、行业经验及深度技术理解展开。以下是一些典型的摸底问题:

01
底层硬件与驱动

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掉电保存数据怎么做?

内部 Flash 页存储、外部 EEPROM、掉电检测 + 紧急写入。

15介绍下MCU的启动流程

复位后 CPU 固定从 0x00000000 地址读取向量表,初始化栈顶地址后跳
转到Reset_Handler
  • 关闭全局中断,防止初始化阶段异常中断打乱流程;
  • 初始化系统必要寄存器;
  • 跳转至 __main 库函数(编译器自带)。
__main库函数不属于用户代码,是 Keil/IAR 自带库,
  • 清零 .bss 段
    未初始化全局变量、静态变量 → 全部赋值为 0
  • 拷贝 .data 段
    已初始化全局常量 / 变量 → 从 Flash 拷贝到 RAM
最后跳转到main函数执行。
END
扫码关注我们
专注微信小程序物联网解决方案。
手把手带您玩转物联网!