嵌入式软件工程师面试题——嵌入式专题(五十二)

本文主要是介绍嵌入式软件工程师面试题——嵌入式专题(五十二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

说明:

  • 面试群,群号: 228447240
  • 面试题来源于网络书籍,公司题目以及博主原创或修改(题目大部分来源于各种公司);
  • 文中很多题目,或许大家直接编译器写完,1分钟就出结果了。但在这里博主希望每一个题目,大家都要经过认真思考,答案不重要,重要的是通过题目理解所考知识点,好应对题目更多的变化;
  • 博主与大家一起学习,一起刷题,共同进步;
  • 写文不易,麻烦给个三连!!!

1.IO口工作方式(学过STM32的人应该很熟悉)

答案:

上拉输入、下拉输入、推挽输出、开漏输出。

2.请说明总线接口USRTI2CUSB的异同点

答案:

(串 / 并、速度、全 / 半双工、总线拓扑等)
总线接口串/并同步/异步速率工作方式用线总线拓扑结构通信距离
UART异步

波特率设置

全双工

2线

Rx、Tx

RS485支持总线式、星形、树形

最远1200

I2C同步半双工

2线

SDA、SCL

总线型
SPI同步全双工

3线或4线

SCLK、SIMO、

SOMI、SS(片选)

环形
USB同步半双工

4线

Vbus(5V)、GND、D+、D-(3.3V)

星形

3.IIC协议时序图

答案:

必须会画出来
IIC 协议有两根线,一根 SCL 时钟线,一根 SDA 数据线,如图可以看到开始信号和结束信号的电平状态。 开始后,因为IIC 总线可以挂在很多设备(不超过 8 个),所以先发送一个设备地址,选中这个设备,设备地址最后一位代表了是写还是读。选中设备后,再发送寄存器地址,代表选中某个寄存器,再开始传输数据。
八位设备地址 =7 位从机地址 + / 写地址,
再给地址添加一个方向位位用来表示接下来数据传输的方向,
0 表示主设备向从设备 (write) 写数据, 1表示主设备向从设备(read) 读数据。

开始信号: SCL 为高电平时, SDA 由高电平向低电平跳变,开始传送数据。
结束信号: SCL 为高电平时, SDA 由低电平向高电平跳变,结束传送数据。
应答信号:接收数据的 IC 在接收到 8bit 数据后,向发送数据的 IC 发出特定的低电平脉冲,表示已收到数据。CPU 向受控单元发出一个信号后,等待受控单元发出一个应答信号, CPU 接收到应答信号后,根据实际情况作出是否继续传递信号的判断。若未收到应答信号,由判断为受控单元出现故障。
IIC 信号在数据传输过程中,当 SCL=1 高电平时,数据线 SDA 必须保持稳定状态,不允许有电平跳变,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化。SCL=1 时 数据线 SDA的任何电平变换会看做是总线的起始信号或者停止信号。

4.单片机的SP指针始终指向

答案:
栈顶。

5.IIC总线在传送数据过程中共有三种类型信号

答案:
它们分别是:开始信号、结束信号和应答信号。

6.FIQ中断向量入口地址,IRQ呢

答案:
FIQ IRQ 是两种不同类型的中断, ARM 为了支持这两种不同的中断,提供了对应的叫做 FIQ IRQ 处理器模式(ARM 7 种处理模式)。
FIQ的中断向量地址在0x0000001C,而IRQ的在0x00000018

7.SPI四种模式,简述其中一种模式,画出时序图

答案:

在芯片资料上极性和相位一般表示为 CPOL Clock POLarity )和 CPHA(Clock PHAse), 极性和相位组合成4 种工作模式。
CPOLCPHA
模式100
模式201
模式310
模式411

spi 四种模式 SPI 的相位 (CPHA) 和极性 (CPOL) 分别可以为 0 1 ,对应的 4 种组合构成了 SPI 4 种模式(mode)
时钟极性 CPOL: SPI 空闲时,时钟信号 SCLK 的电平( 1: 空闲时高电平 ; 0: 空闲时低电平) 时钟相位CPHA: 即 SPI SCLK 第几个边沿开始采样( 0: 第一个边沿开始 ; 1: 第二个边沿开始)
sd 卡的 spi 常用的是 mode 0 mode 3,这两种模式的相同的地方是都在时钟上升沿采样传输数据,区别这两种方式的简单方法就是看空闲时,时钟的电平状态,低电平为 mode 0 ,高电平为 mode 3

8.讲一讲冯诺依曼和哈佛体系的区别

答案:
哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。目前使用哈佛结构的中央处理器和微控制器有很多,ARM9 ARM10 ARM11 51 单片机属于哈佛结构。
· 诺伊曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。

9.USART为什么一次只能发送一个字节? 先发高位还是低位

答案:

考虑数据准确性,时间误差的累计。

比如你发送的数据为1111 0000 那么接收方如何知道你连续发送了几个1几个0,这个时候就需要波特率,通过计算时间可以知道你发送了几个连续1或0,因为波特率规定了每发一个Bit的时间,但是发送方和接收方可能存在时间误差,会导致累计时间误差,导致数据不正确,所以这个时候就需要规定每次只能发送一个字节数据,就可以避免累计时间误差,这也是异步导致的。

先发低位。

10.串口通信存在的问题

答案:

1)串口只是规定了协议,即帧格式,用高电平表示1,低电平表示0,但是在不同的处理器中这个定义是不一样的,电气特性不一样,所以这两个处理器是不能直接连接的。

2)抗干扰能力差,使用的是 TTL 信号表示0和1。

3)通信距离短,只能用于一个电路板上的两个不同芯片之间的通信。

由于串口通信存在的问题就出现了RS232、RS485协议,但是软件编程还是串口那样编程,因为改的只是硬件上的电性。

这篇关于嵌入式软件工程师面试题——嵌入式专题(五十二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/676254

相关文章

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

荣耀嵌入式面试题及参考答案

在项目中是否有使用过实时操作系统? 在我参与的项目中,有使用过实时操作系统。实时操作系统(RTOS)在对时间要求严格的应用场景中具有重要作用。我曾参与的一个工业自动化控制项目就采用了实时操作系统。在这个项目中,需要对多个传感器的数据进行实时采集和处理,并根据采集到的数据及时控制执行机构的动作。实时操作系统能够提供确定性的响应时间,确保关键任务在规定的时间内完成。 使用实时操作系统的

一些其他面试题

阿里二面:那你来说说定时任务?单机、分布式、调度框架下的定时任务实现是怎么完成的?懵了。。_哔哩哔哩_bilibili 1.定时算法 累加,第二层每一个格子是第一层的总时间400 ms= 20 * 20ms 2.MQ消息丢失 阿里二面:高并发场景下引进消息队列有什么问题?如何保证消息只被消费一次?真是捏了一把汗。。_哔哩哔哩_bilibili 发送消息失败

嵌入式Openharmony系统构建与启动详解

大家好,今天主要给大家分享一下,如何构建Openharmony子系统以及系统的启动过程分解。 第一:OpenHarmony系统构建      首先熟悉一下,构建系统是一种自动化处理工具的集合,通过将源代码文件进行一系列处理,最终生成和用户可以使用的目标文件。这里的目标文件包括静态链接库文件、动态链接库文件、可执行文件、脚本文件、配置文件等。      我们在编写hellowor

音视频入门基础:WAV专题(10)——FFmpeg源码中计算WAV音频文件每个packet的pts、dts的实现

一、引言 从文章《音视频入门基础:WAV专题(6)——通过FFprobe显示WAV音频文件每个数据包的信息》中我们可以知道,通过FFprobe命令可以打印WAV音频文件每个packet(也称为数据包或多媒体包)的信息,这些信息包含该packet的pts、dts: 打印出来的“pts”实际是AVPacket结构体中的成员变量pts,是以AVStream->time_base为单位的显

嵌入式方向的毕业生,找工作很迷茫

一个应届硕士生的问题: 虽然我明白想成为技术大牛需要日积月累的磨练,但我总感觉自己学习方法或者哪些方面有问题,时间一天天过去,自己也每天不停学习,但总感觉自己没有想象中那样进步,总感觉找不到一个很清晰的学习规划……眼看 9 月份就要参加秋招了,我想毕业了去大城市磨练几年,涨涨见识,拓开眼界多学点东西。但是感觉自己的实力还是很不够,内心慌得不行,总怕浪费了这人生唯一的校招机会,当然我也明白,毕业

zookeeper相关面试题

zk的数据同步原理?zk的集群会出现脑裂的问题吗?zk的watch机制实现原理?zk是如何保证一致性的?zk的快速选举leader原理?zk的典型应用场景zk中一个客户端修改了数据之后,其他客户端能够马上获取到最新的数据吗?zk对事物的支持? 1. zk的数据同步原理? zk的数据同步过程中,通过以下三个参数来选择对应的数据同步方式 peerLastZxid:Learner服务器(Follo

java常用面试题-基础知识分享

什么是Java? Java是一种高级编程语言,旨在提供跨平台的解决方案。它是一种面向对象的语言,具有简单、结构化、可移植、可靠、安全等特点。 Java的主要特点是什么? Java的主要特点包括: 简单性:Java的语法相对简单,易于学习和使用。面向对象:Java是一种完全面向对象的语言,支持封装、继承和多态。跨平台性:Java的程序可以在不同的操作系统上运行,称为"Write once,

计算机视觉工程师所需的基本技能

一、编程技能 熟练掌握编程语言 Python:在计算机视觉领域广泛应用,有丰富的库如 OpenCV、TensorFlow、PyTorch 等,方便进行算法实现和模型开发。 C++:运行效率高,适用于对性能要求严格的计算机视觉应用。 数据结构与算法 掌握常见的数据结构(如数组、链表、栈、队列、树、图等)和算法(如排序、搜索、动态规划等),能够优化代码性能,提高算法效率。 二、数学基础