mysql编程c语言面试题目_嵌入式笔试面试题目系列(五)

本文整理了关于单片机和嵌入式系统的面试题目,涵盖了ROM与RAM的区别、IO口工作方式、总线接口、IIC协议、SPI模式等知识点。还提及了冯诺依曼和哈佛体系结构的区别、面向对象编程的特性,并讨论了C语言编程习惯和HTTP、MySQL的默认端口号。
摘要由CSDN通过智能技术生成

65f26ba76e5523cfc3270ad43046b5aa.png

本系列将按照类别对题目进行分类整理,重要的地方标上星星,这样有利于大家打下坚实的基础。

第六章 单片机常见面试题

1、ROM与RAM

这一点我另一篇文章讲解过,这里放链接:

ROM与RAM的区别

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

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

3、请说明总线接口USRT、I2C、USB的异同点

(串/并、速度、全/半双工、总线拓扑等)

53becc3ca485fc0c54d97ae2551f4924.png

4、IIC协议时序图

必须会画出来,我面试被问到过,让我画,我画了个大概。(面试驱动岗必须会)

IIC协议有两根线,一根SCL时钟线,一根SDA数据线,如图可以看到开始信号和结束信号的电平状态。开始后,因为IIC总线可以挂在很多设备(不超过8个),所以先发送一个设备地址,选中这个设备,设备地址最后一位代表了是写还是读。选中设备后,再发送寄存器地址,代表选中某个寄存器,再开始传输数据。

八位设备地址=7位从机地址+读/写

给地址添加一个方向位位用来表示接下来数据传输的方向,

0表示主设备向从设备(write)写数据,

1表示主设备向从设备(read)读数据

8f3e9cfdee8132dc65932c05b5d45939.png

开始信号:SCL 为高电平时,SDA 由高电平向低电平跳变,开始传送数据。

结束信号:SCL 为高电平时,SDA 由低电平向高电平跳变,结束传送数据。

应答信号:接收数据的 IC 在接收到 8bit 数据后,向发送数据的 IC 发出特定的低电平脉冲,表示已收到数据。CPU 向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU 接收到应答信号后,根据实际情况作出是否继续传递信号的判断。若未收到应答信号,由判断为受控单元出现故障。

IIC信号在数据传输过程中,当SCL=1高电平时,数据线SDA必须保持稳定状态,不允许有电平跳变,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化。SCL=1时 数据线SDA的任何电平变换会看做是总线的起始信号或者停止信号。

IIC我也有一篇文章有讲解,请看链接:

IIC总线最多可以挂多少个设备

5、单片机的SP指针始终指向

栈顶

6、IIC总线在传送数据过程中共有三种类型信号:

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

7、FIQ中断向量入口地址:

FIQ和IRQ是两种不同类型的中断,ARM为了支持这两种不同的中断,提供了对应的叫做FIQ和IRQ处理器模式(ARM有7种处理模式)。

FIQ的中断向量地址在0x0000001C,而IRQ的在0x00000018。

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

面试驱动岗位,需要会画其中一种方式。模式0或者模式3。画出通信时序图。

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

6cea7d4bc4f71255c308b587d31c3e1e.png

spi四种模式SPI的相位(CPHA)和极性(CPOL)分别可以为0或1,对应的4种组合构成了SPI的4种模式(mode)

Mode 0 CPOL=0, CPHA=0

Mode 1 CPOL=0, CPHA=1

Mode 2 CPOL=1, CPHA=0

Mode 3 CPOL=1, CPHA=1

时钟极性CPOL: 即SPI空闲时,时钟信号SCLK的电平(1:空闲时高电平; 0:空闲时低电平) 时钟相位CPHA: 即SPI在SCLK第几个边沿开始采样(0:第一个边沿开始; 1:第二个边沿开始)

sd卡的spi常用的是mode 0 和mode 3,这两种模式的相同的地方是都在时钟上升沿采样传输数据,区别这两种方式的简单方法就是看空闲时,时钟的电平状态,低电平为mode 0 ,高电平为mode 3。

具体的通信过程请自行百度,2021年秋招大疆笔试题考了这道题。

第七章 杂项面试题

1、讲一讲冯诺依曼和哈佛体系的区别

哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。目前使用哈佛结构的中央处理器和微控制器有很多,ARM9、ARM10和ARM11,51单片机属于哈佛结构。

冯·诺伊曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。

2、面向对象编程的三大特性

以及重载的意思。重载,是指允许存在多个同名函数,而这些函数的参数表不同(或许参数个数不同,或许参数类型不同,或许两者都不同)。

3、http默认端口号

80

4、linux中mysql数据库默认的端口是

3306

5、编程习惯小知识点

C语言编程中,单片机平台,一般有.c和.h文件,如果一个人在.h文件中定义了一个变量,会有什么后果。(讨论编程习惯的问题,我一般是只在.h文件中声明函数,不会做变量定义;另外,编程中每一个模块都会有对应的.c和.h文件,最终的总程序自己定义一个comm.c和comm.h去调用各个模块,这样的习惯我觉得还行)

if语句中如果是或运算( | ),第一个条件满足时,第二个条件还会判断吗。或运算的话,当然不会,因为 0|1=1,中断了

对于代码整洁方面,我已经在我的技术交流群发了文件,推荐《代码整洁之道》、《编码:隐匿在计算机软硬件背后的语言》、《程序员的自我修养》、《华为内部代码规范》

2211a2a94cecdf08af407300bbaf9ab4.png

【编辑推荐】

【责任编辑:姜华 TEL:(010)68476606】

点赞 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值