当前位置: 首页 > 科技观察

嵌入式笔试面试题系列(五)

时间:2023-03-17 15:07:32 科技观察

本系列将题型分门别类,重要的地方用星号标注,帮助大家打好基础。Chapter6MCU面试常见问题1.ROM和RAM我在另一篇文章里有讲解,这里是链接:ROM和RAM的区别2.IO口工作方式(学过STM32的人应该很熟悉)上拉输入,下拉输入,推挽输出,开漏输出。3、请说明总线接口USRT、I2C、USB的异同(串/并、速度、全/半双工、总线拓扑结构等)4、必须画出IIC协议的时序图。面试的时候有人问我,让我画画,我画了一个大概的想法。(面试驱动帖必须会)IIC协议有两根线,一根SCL时钟线,一根SDA数据线,如图,可以看到起始信号和结束信号的电平状态。启动后,因为IIC总线可以连接很多设备(不超过8个),先发送一个设备地址,选择这个设备,设备地址的最后一位代表是写还是读。选择好设备后,发送寄存器地址,即选择了一个寄存器,然后开始发送数据。八位设备地址=7位从机地址+读写地址在地址上加一个方向位,表示下一次数据传输的方向,0表示主机向从机写入数据(write),1表示masterdevicewritedatatoslavedeviceDevice(read)读数据开始信号:当SCL为高电平时,SDA由高电平跳变到低电平,开始传输数据。结束信号:当SCL为高电平时,SDA由低电平跳变到高电平,数据传输结束。响应信号:接收数据的IC在接收到8bit数据后,向发送数据的IC发送一个特定的低电平脉冲,表示数据已经接收。CPU向受控单元发送信号后,等待受控单元发送响应信号。CPU收到响应信号后,根据实际情况判断是否继续发送信号。如果没有收到响应信号,则判断受控单元出现故障。IIC信号在数据传输过程中,当SCL=1高电平时,数据线SDA必须保持稳定状态,不允许电平跳变。只有当时钟线上的信号为低电平时,才允许数据线上的高电平或低电平状态发生变化。当SCL=1时,数据线SDA的任何电平变化都将被视为总线的启动信号或停止信号。我还有一篇讲解IIC的文章,请参考链接:IIC总线最多可以连接多少台设备?信号、结束信号和确认信号。7、FIQ中断向量入口地址:FIQ和IRQ是两种不同类型的中断。为了支持这两种不同的中断,ARM提供了相应的处理器模式,称为FIQ和IRQ(ARM有7种处理模式)。FIQ的中断向量地址为0x0000001C,IRQ的中断向量地址为0x00000018。8、SPI四种模式,简述其中一种,画个时序图面试driver位置,需要你会画其中一种。模式0或模式3。绘制通信时序图。极性和相位在芯片数据上一般表示为CPOL(ClockPOLarity)和CPHA(ClockPHAse),极性和相位组合成4种工作模式。spi四种模式SPI的相位(CPHA)和极性(CPOL)可以分别为0或1,对应的4种组合构成了SPI的4种模式(mode)Mode0CPOL=0,CPHA=0Mode1CPOL=0,CPHA=1Mode2CPOL=1,CPHA=0Mode3CPOL=1,CPHA=1时钟极性CPOL:即SPI空闲时时钟信号SCLK的电平(1:空闲时为高电平;0:空闲时为低电平level)时钟相位CPHA:即SPI在SCLK的边沿开始采样(0:第一个边沿开始;1:第二个边沿开始)sd卡的spi常用模式0和模式3,这些两种模式相同的地方是数据是在时钟的上升沿被采样和传输的。区分这两种方法的简单方法是看时钟空闲时的电平状态。低电平为模式0,高电平为模式3,具体通信过程请自行百度。这道题是2021秋招大疆笔试考的。ChapterMiscellaneousInterviewQuestions1.谈谈冯·诺依曼和哈佛架构的区别哈佛架构是一种将程序指令存储和数据存储分开的内存结构。目前有很多中央处理器和微控制器采用哈佛结构,ARM9、ARM10和ARM11,51单片机属于哈佛结构。冯·诺依曼结构,又称普林斯顿结构,是一种结合了程序指令存储器和数据存储器的存储器结构。2、面向对象程序设计的三大特点及重载的意义。重载就是允许有多个同名的函数,但是这些函数的参数表是不同的(可能参数个数不同,参数类型可能不同,或者两者不同)。3、http默认端口号为804,linux中mysql数据库默认端口号为33065。编程习惯提示在C语言编程中,单片机平台,一般有.c和.h文件。如果一个人在.h文件中定义了一个变量,会有什么后果。(讨论编程习惯问题,我一般只在.h文件中声明函数,不定义变量;另外,编程中每个模块都会有对应的.c和.h文件,最终总程序定义一个comm。c和comm.h去调用各个模块,我觉得这个习惯没问题)如果if语句是OR运算(|),第一个条件满足时,第二个条件还会判断吗?或者计算,当然不是,因为0|1=1,中断了。为了代码整洁,我在我的技术交流群里发了文件,推荐《代码整洁之道》、《编码:隐匿在计算机软硬件背后的语言》、《程序员的自我修养》、《华为内部代码规范》