第六章、单片机常见面试题

1、ROM与RAM

参见:ROM&RAM

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

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

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

4、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的任何电平变换会看做是总线的起始信号或者停止信号。

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

栈顶

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

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

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

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

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

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

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

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。

第七章、杂项面试题

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,中断了。

嵌入式面试常见问题(三)相关推荐

  1. Linux云计算面试常见问题三

    Linux云计算面试常见问题三,今天将在前两篇的基础上,继续为大家带来Linux云计算面试题. ** 1.虚拟化平台在实施云时有何要求? ** 虚拟化平台在实施云时的要求包括: a)管理服务级别策略 ...

  2. 嵌入式面试常见问题(二)

    第三章.网络编程 1 .TCP.UDP的区别 TCP-传输控制协议,提供的是面向连接.可靠的字节流服务.当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据. UDP-用 ...

  3. 嵌入式面试常见问题(四)—牛客网

    1.select和epoll的区别 select的时间复杂度O(n).它仅仅知道了,有I/O事件发生了,却并不知道是哪那几个流(可能有一个,多个,甚至全部),我们只能无差别轮询所有流,找出能读出数据, ...

  4. 嵌入式面试常见问题(十一)—各大公司面试题

    8.科大讯飞笔试题 笔试时间:2020.09.12,19:00--21:00 岗位:嵌入式软件开发 题型:四道编程题,4*10=40分 1.定义一个n*m矩阵,找到两个不在同一行同一列的数字,使得成绩 ...

  5. 16种面试常见问题技巧回答

    16种面试常见问题技巧回答 面试是一种考查活动,即在特定场景中以面对面交谈与观察为主要手段,来测试和评价应试者的能力素质 .那么面试有哪些技巧和注意事项,面试时经常提到哪些问题,这些问题又是如何有技巧 ...

  6. 面试篇1:嵌入式C语言面试常见问题

    嵌入式C语言面试常见问题 入门C语言20问20答: 01源程序的编译及链接是怎样一个过程? 02编写第一个简单的C语言程序 03C语言是强类型的语言,这是什么意思? 任何程序都要处理数据,计算机可以处 ...

  7. C++面试常见问题一

    C++面试常见问题一 转自:https://oldpan.me/archives/c-interview-answer-1 原作者:[oldpan][https://oldpan.me/] 前言 这里 ...

  8. 网路学员面试常见问题:

    网路学员面试常见问题: 1.请你修改一下LINUX的视频驱动和声音驱动 答: redhatlinux中用sndconfig来设置声卡,如果没有某个模块,就需要重新编译内核(编译最新发布的linux 内 ...

  9. html手机端适配怎么调试,html5面试常见问题及答案:移动端布局与适配篇

    原标题:html5面试常见问题及答案:移动端布局与适配篇 1. 移动布局自适应不同屏幕的几种方式 (1)响应式布局 (2)100%布局(弹性布局) (3)等比缩放布局(rem) 2. iscroll安 ...

  10. python面试常见问题-Python面试常见问题,涉及Python各个方面

    原标题:Python面试常见问题,涉及Python各个方面 爬虫面试常见问题 一.项目问题: 1.你写爬虫的时候都遇到过什么反爬虫措施,你是怎样解决的 2.用的什么框架.为什么选择这个框架 二.框架问 ...

最新文章

  1. Local模式下Spark程序只输出关键信息
  2. 安装路径是什么意思_404 not found nginx是什么意思
  3. 语言主程序和子程序的写法_汇编语言程序设计第三篇——汇编程序结构
  4. hover一个div展示另一个div
  5. python中三种分支结构的_python 运算符与分支结构
  6. 不好意思,爱因斯坦这次,又对了!
  7. C语言代码规范(五)函数参数个数
  8. 程序随笔——C++实现的一个线程池
  9. 前端控件JQuery Datatables使用——常用功能初始化
  10. C++并发与多线程(二) 创建多个线程、数据共享问题分析、案例代码
  11. JMeter——JMeter如何进行汉化
  12. 前几日共享HCIE面试战报兄弟的通过感言,看完之后希望你不要沉默
  13. Java使用POI导入excel教程
  14. 三极管共射放大电路的放大倍数怎么设计?
  15. 视频配音怎么制作?这两个文字转语音工具,声音自然好听
  16. 黑龙江省牡丹江市谷歌高清卫星地图下载
  17. strtolower
  18. 《Java程序员,上班那点事儿》前言
  19. 铝电解电容的寿命计算(纹波电流法)手把手教你
  20. tensorflow的安装和求解泊松方程

热门文章

  1. 中国计算机学会推荐国内期刊目录
  2. PHP面试注意事项与问题
  3. 回调地址没备案_回调地址常见问题及修改方法
  4. base64编码计算机网络,什么是Base64(Base64)?
  5. 转:性、恐惧、爱、信念,管理者一生都逃不掉的课题
  6. Nodejs之NestJS之pkg打包
  7. 从汽车尾气过滤陶瓷孔检测看远心镜头的应用前景-工业相机
  8. 浅谈大小端(Endian)与位域
  9. AVL Trees: Tutorial and C++ Implementation
  10. 2016年,你要学习这些移动开发技术