嵌入式常见面试题——硬件与中断篇

1、什么是中断?编写中断服务程序(ISR)需要注意什么?

中断是硬件或软件产生的中断信号,处理器暂停当前任务转而执行中断处理程序,完成后再返回原任务。

ISR编写注意事项

  • 尽量短小精悍:ISR应尽快执行完毕,复杂处理应通过标志位或队列交给任务处理。

  • 不能使用阻塞操作:ISR中不能调用可能导致阻塞的函数(如延时、等待信号量)。

  • 共享变量加volatile:ISR与主程序共享的全局变量必须用volatile修饰。

  • 注意临界区保护:访问共享资源时需关中断或使用原子操作。

  • 中断优先级合理设置:避免高优先级中断阻塞低优先级中断过久。

  • 中断嵌套需谨慎:考虑栈深度是否足够。

2、中断上下文为什么不能睡眠?

中断上下文没有进程结构体(task_struct),无法被调度唤醒;且中断需要快速执行,睡眠会占用中断资源,导致系统卡死。

3、解释GPIO、PWM、ADC、DMA的含义

  • GPIO(通用输入输出):微控制器的数字引脚,可配置为输入或输出模式,用于控制LED、读取按键等。

  • PWM(脉宽调制):通过调节方波的占空比来控制模拟量,常用于电机调速、LED调光。

  • ADC(模数转换器):将模拟电压信号转换为数字值,用于读取传感器数据。

  • DMA(直接内存访问):外设无需CPU参与,直接与内存传输数据,释放CPU资源。CPU配置DMA控制器(地址/长度/方向)后,DMA自主传输,完成后通过中断通知CPU。

4、什么是看门狗?作用是什么?

看门狗是一种硬件定时器,程序需要在规定时间内定期"喂狗"(重置定时器),否则定时器超时后会触发系统复位。

作用:防止系统因软件死锁、死循环等异常导致程序跑飞,提高系统可靠性。

Q20:UART、I2C、SPI的区别?

比较项 UART I2C SPI
通信方式 异步 同步 同步
双工模式 全双工 半双工 全双工
信号线数量 2根(TX/RX) 2根(SDA/SCL) 4根(MOSI/MISO/SCLK/CS)
是否有时钟线
主从结构 点对点 多主多从 一主多从
速度 较慢 中等(标准100kbps,快速400kbps) 快(可达几十MHz)
典型应用 串口调试、蓝牙模块 传感器、EEPROM Flash、LCD屏幕

简要口诀:调试用UART,省IO用I2C,高速用SPI。

5、I2C为什么需要上拉电阻?

I2C的SDA和SCL采用开漏输出,只能输出低电平或高阻态,无法主动输出高电平。因此必须外接上拉电阻将总线拉至高电平,同时支持多个设备共用总线和总线仲裁。

相关推荐
单片机仿真设计1 小时前
【proteus仿真】基于单片机的水肥一体化智能监控系统(仿真图+程序)
stm32·单片机·嵌入式硬件·proteus
单片机仿真设计1 小时前
【proteus仿真】基于 STM32 单片机破碎机监测保护系统(仿真图+程序)
stm32·单片机·proteus
国科安芯2 小时前
基于抗辐射MCU的卫星分布式控制系统CANFD总线架构研究
网络·人工智能·分布式·单片机·嵌入式硬件·架构·抗辐射
虹科数字化与AR10 小时前
拓影Twyn能替代三坐标吗?AR视觉检查与精密计量的正确分工
经验分享
G***技10 小时前
告别“云端依赖”:LH707 如何重构 AI 视频监控的底层逻辑?
人工智能·嵌入式硬件
ShallWeL14 小时前
Orin 上多模型常驻与显存预算
人工智能·嵌入式硬件·nvidia·orin
亮工硬件15 小时前
1-11 STM32内部FLASH(数据掉电保存)
笔记·stm32·单片机·嵌入式硬件·学习
集和诚JHCTECH15 小时前
案例分享 | BRAV-7721助力印刷电路板(PCB)智能缺陷复判系统
人工智能·嵌入式硬件·边缘计算
恒锐丰科技林技术员16 小时前
EG27524 双通道栅极驱动芯片:高速功率变换系统的驱动利器
经验分享·嵌入式硬件·硬件工程
上海广测检测科技有限公司16 小时前
智能手表TELEC认证详解:日本电波法框架下的技术基准适合证明要点
经验分享·智能手表