单片机面试知识点汇总带答案

GPIO

1. IO 有哪三种常用方式?
  • 输入模式:读取外部信号。
  • 输出模式:控制外部设备。
  • 复用模式:将IO引脚配置为特定外设(如UART、SPI等)的功能。
  • 2. 状态怎么转换?
  • 通过寄存器设置模式(如GPIO_MODER):设置为输入、输出或复用。
  • 拉高或拉低状态:设置上拉/下拉寄存器(如PUPDR)。
  • 输出电平切换:通过写GPIO输出数据寄存器(如ODR)。

  • 中断

    1. 什么是中断?

    中断是嵌入式系统的一种机制,在发生特定事件时,处理器暂停当前任务,跳转到预先定义的中断服务程序(ISR)以处理事件。

    2. 中断的触发方式有哪些?
  • 电平触发:高电平或低电平触发。
  • 边沿触发:上升沿或下降沿触发。
  • 3. 哪些函数不能在中断中使用?
  • 耗时函数(如delay)。
  • 阻塞函数(如printf)。
  • 非重入函数(如标准库函数:mallocfree 等)。
  • 4. 什么叫不可重入函数?

    一个函数如果在没有完成当前调用时再次被调用,可能会导致数据错误或死锁,则称为不可重入函数。

    5. 中断与异常有何区别?
    项目 中断 异常
    定义 外部事件触发 内部错误或事件触发
    例子 GPIO中断、外部设备中断 除零错误、非法指令
    优先级 通常可配置 通常由硬件固定
    6. 中断的响应执行流程是什么?
    1. 中断事件发生。
    2. 当前任务保存上下文。
    3. 跳转到ISR。
    4. 执行中断处理。
    5. 恢复上下文,返回主程序。
    7. 写一个中断服务需要注意哪些?
  • 尽量简短、快速完成。
  • 禁止嵌套调用过多函数。
  • 清除中断标志位以防重复触发。
  • 考虑线程安全问题。
  • 8. 中断和轮询哪个效率高?
  • 中断效率高:适用于频率低或实时性要求高的场景。
  • 轮询简单:适合频繁触发但实时性要求不高的任务。
  • 9. 怎样决定是采用中断还是轮询?
  • 中断:高实时性需求、较低事件频率。
  • 轮询:较高事件频率、简单任务。
  • 10. 中断优先级有哪些?
  • 固定优先级:由硬件决定。
  • 可配置优先级:通过软件配置,如STM32中的NVIC。

  • 定时器

    1. 定时器的特殊工作模式有哪些?
  • 定时模式:产生固定时间间隔。
  • PWM模式:产生占空比可调的脉冲信号。
  • 捕获模式:测量外部信号的周期或频率。
  • 比较模式:输出特定事件。
  • 2. 定时器PWM?如何实现PWM调速?
  • PWM原理:通过调节占空比(高电平时间占总周期的比例)控制输出功率。
  • 实现调速:通过修改定时器比较值,动态调整占空比。
  • 3. 定时器中断?

    定时器溢出或比较匹配时触发中断,可用于周期性任务。


    通信协议

    1. 什么是异步传输和同步传输?
  • 异步传输:没有时钟信号,通过起始位和停止位同步数据(如UART)。
  • 同步传输:需要时钟信号同步发送和接收(如I2C、SPI)。
  • 2. UART、IIC、SPI对比的优缺点?
    项目 UART I2C SPI
    时钟
    速度 较低 中等 高速
    接线 2根 2根+上拉电阻 4根
    数据传输 单点到单点 多主多从 单主多从
    3. RX为什么要上拉?

    RX上拉可避免在空闲状态(无输入信号)时电平悬空导致误触发。


    IIC

    1. IIC的特点
  • 两线通信:SDA(数据)和SCL(时钟)。
  • 支持多主多从。
  • 需要上拉电阻。
  • 2. 数据有效性
  • 数据在线路稳定后有效。
  • 时钟高电平期间,数据不能改变。
  • 3. IIC的总线仲裁机制?

    多主设备在总线冲突时,检测信号电平并停止发送,以避免数据错误。

    4. 主设备3.3V从设备1.8V通信(无电平转换):

    通过加适配电阻上拉到1.8V实现兼容。


    SPI

    1. SPI最大传输速率受什么影响?
  • 主机时钟频率。
  • 电气特性(寄生电容、电阻等)。
  • 2. SPI的四种模式及其时序图?

    SPI有两种参数控制:

  • 时钟极性(CPOL)。
  • 时钟相位(CPHA)。 组合成四种模式。
  • 3. SPI如何读写?

    主机发送数据的同时接收数据,使用双向移位寄存器。


    DMA

    1. DMA是什么?

    直接内存访问(Direct Memory Access),无需CPU参与完成数据传输。

    2. DMA与中断的比较
  • DMA效率更高:适合大块数据传输。
  • 中断更灵活:适合小数据或异步事件。

  • ADC

    1. ADC的实现原理?

    将模拟信号通过采样、量化转为数字信号。

    2. ADC的种类?
  • SAR ADC(逐次逼近)。
  • Sigma-Delta ADC(Σ-Δ调制)。
  • Flash ADC(并行比较)。

  • 存储

    1. NAND和NOR Flash的区别?
    特性 NAND Flash NOR Flash
    存储容量 较小
    读写速度 较快 较慢
    随机读写性能 较差 较好

    作者:wys99999

    物联沃分享整理
    物联沃-IOTWORD物联网 » 单片机面试知识点汇总带答案

    发表回复