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

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对比的优缺点?
项目UARTI2CSPI
时钟
速度较低中等高速
接线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 FlashNOR Flash
存储容量较小
读写速度较快较慢
随机读写性能较差较好
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值