全网最全硬件校招八股文(13)-嵌入式系统与MCU

写在前面

通过对300份真实面经的分析以及本人秋招实习面试中遇到的问题,我总结了硬件岗位面试中最高频的面试题目。这些问题涵盖了模拟电路、数字电路、电源、信号完整性、嵌入式硬件、PCB设计、电机、常用仪器等核心领域,并附上详细的解答思路,帮助你高效复习。目前已更新248道高频面试题,持续更新中。

适用岗位包括单板硬件研发、嵌入式硬件、PCB Layout、电源设计、射频工程师、硬件测试和FAE(现场应用工程师)。

无论你是大三、大四的本科生还是研一、研二的研究生,都可以从中获得全面的面试备战策略。

目录

1、单片机上电后没有运转,首先要检查什么

2、STM32最小系统?

3、模拟控制 PWM 和软件控制PWM的优缺点

4、MCU 和 FPAG 对比,优缺点

5、PWM波怎么调制

6、DSP和单片机的区别,应用场合

7、单片机如何提高驱动能力

8、MCU选取考虑

1、单片机上电后没有运转,首先要检查什么

答:①检查电源是否正常,若装有复位芯片,也需查看复位芯片是否工作正常;

②检查硬件复位电路是否正常;

③查看外部晶振是否启振,一般用示波器 X10 挡位,应选取较高带宽;

④查看 BOOT 位设置启动方式是否正确。

2、STM32 最小系统?

答:STM32 最小系统是一种包含 STM32 微控制器、时钟电路、复位电路、调试电路、 电源电路等基本元件的硬件电路。

STM32 最小系统的组成部分通常包括:一个 STM32 微控制器芯片、一个外部晶体振荡器(或者是内部 RC 振荡器)、一个复位电路、一个调试电路(通常是 SWD 接口)、一个稳压器电路以及一些必要的电阻、电容和连接线等。

在 STM32 最小系统中,芯片和各种电路的连接方式非常重要。具体来说,STM32 芯片的引脚需要和外部电路连接,比如时钟电路、复位电路、调试电路等。在实际设计过程中,还需要注意电路的布局和线路的走向,以最小化信号干扰和噪声。

3、模拟控制 PWM 和软件控制 PWM 的优缺点

答:PWM,即脉冲宽度调制(Pulse-width modulation),是一种模拟控制方式它通过改变晶体管栅极或基极的偏置,进而改变开关稳压电源输出晶体管或晶体管的导通时间,从而确保电源的输出电压在工作条件变化时保持恒定。其核心思想是将有效的电信号分散成离散形式,以此降低电信号所传递的平均功率。

(1)模拟控制 PWM

主要通过模拟电路实现三角波载波正弦调制波发生电路,使用比较器确定它们的交点在交点时刻对开关器件的通断进行控制,从而生成 PWM 波。这种方法的优点是响应速度快,实时性好。但由于模拟电路本身的特性,其稳定性和精度可能受到温度、电源电压等环境因素的影响,且设计调试相对复杂。

(2)软件控制 PWM

是通过,实现对的控制。这种方式,可以方便地。此外,软件控制还可以然而,软件控制 PWM 的实时性可能不如模拟控制,且需要消耗

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

全网最全硬件校招八股文 文章被收录于专栏

本人bg西电硕,本硕均为电子信息专业。25届秋招主投硬件岗,最终拿下海康,汇川,艾诺,TCL,华为,CVTE,中兴,小米等offer。通过对300份真实面经的分析以及本人秋招实习面试中遇到的问题,我总结了硬件岗位面试中最高频的面试题。这些问题涵盖了模电、数电、硬件测试、PCB设计、电源岗等核心领域,并附上详细的解答思路。其次,我还详细介绍了电源岗、硬测岗、单板硬件岗位的职责、必备技能以及学习路线。

全部评论

相关推荐

1. FreeRTOS的核心功能是什么?是一个实时操作系统内核,主要提供任务管理、时间管理、信号量、消息队列、事件组等功能,支持抢占式调度,确保实时任务的及时响应。2. 任务的状态有哪些?运行态(Running):当前正在执行的任务。就绪态(Ready):任务就绪,等待调度器分配CPU。阻塞态(Blocked):任务因等待事件(如延时、信号量)暂时无法运行。挂起态(Suspended):任务被强制暂停,需通过特定函数唤醒。3. FreeRTOS的调度算法是什么?主要采用基于优先级的抢占式调度:高优先级任务可抢占低优先级任务的CPU使用权;同优先级任务默认采用时间片轮转调度(需使能配置)。4. 什么是任务堆栈?作用是什么?每个任务有独立的堆栈,用于保存任务的上下文(寄存器值、局部变量等)。当任务被切换时,堆栈负责保存当前状态,确保下次恢复时能继续执行。5. 信号量和互斥锁的区别?信号量:用于资源计数或同步,允许多个任务同时访问有限资源(如计数信号量),或实现任务间同步(如二进制信号量)。互斥锁(Mutex):专为解决互斥问题设计,支持优先级继承机制,可避免“优先级反转”(高优先级任务因低优先级任务占用资源而等待的问题)。6. 消息队列的作用?如何实现任务间通信?消息队列是任务间传递数据的缓冲区,支持异步通信。一个任务可向队列发送消息,另一个任务从队列接收消息(可设置超时时间),数据通过拷贝方式传递,支持不同长度的数据类型。7. 什么是优先级反转?如何解决?优先级反转:低优先级任务占用资源时,中优先级任务抢占CPU,导致高优先级任务因等待资源被阻塞,优先级被“反转”。解决方式:使用互斥锁的优先级继承机制(低优先级任务暂时继承高优先级任务的优先级,避免被中优先级任务抢占)。8. 任务通知和消息队列相比,有什么优势?任务通知是轻量级通信机制,直接向任务发送事件/数据,无需创建队列,减少内存开销,效率更高(适用于一对一通信场景);但功能较简单,不支持多任务向同一队列发送消息。9. 如何实现任务的延时?vTaskDelay()和vTaskDelayUntil()的区别?vTaskDelay(t) :从调用时刻开始延时 t 个时钟节拍,延时时间是相对的(受任务调度影响)。vTaskDelayUntil() :确保任务按固定周期执行,延时到绝对时间点,适合周期性任务。10. FreeRTOS中的堆管理方案有哪些?提供5种堆内存分配方案(heap_1到heap_5),例如:heap_1:最简单,只分配不释放,适合内存固定的场景。heap_4:支持动态分配和释放,使用链表管理内存,可用于大多数场景。
点赞 评论 收藏
分享
评论
2
5
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务