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

说明:

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

目录

1.关于RS232,你了解多少

2.RS232和RS485的区别(抗干扰,距离,电平,设备连接)

3.什么是IIC协议

4.IIC通信的过程

5.IIC协议的信号有什么

6.IIC总线起始信号和停止信号

7.解决IIC同步问题

8.典型的IIC时序

9.SPI是什么

10.SPI通信过程


1.关于RS232,你了解多少

答案:

1)无论是RS232还是RS485底层都是串口,只是在电气特性上面做了些修改,使得改善串口的问题

2)(接口)RS232有9根线,一般只使用其中的RXD TXD GND

3)(信号)规定逻辑1的电平为-5V到-15V,逻辑0的电平为+5V到+15V,提高了抗干扰能力,传输距离一般可达15m

由于我们处理器的电平是TTL电平达不到RS232这个电平要求,所以中间还需要一个转换过程,一般使用 MAX232这款芯片,把TTL电平转为RS23。

问题:由于RS232的电信号电压较高,容易烧心片,并且还使用到额外的芯片成本较高,传输速率较低,所以这个时候就出现RS485来改善。

2.RS232和RS485的区别(抗干扰,距离,电平,设备连接)

答案:

3.什么是IIC协议

答案:

概念:串行的、半双工的总线,主要应用于近距离,低速的芯片之间的通信,IIC有两根线,

SDA------->数据收发

SCL------->通信双方的时钟的同步

IIC总线上可以挂很多的器件,这些器件即可以作为主机也可以作为从机,那么总线是如何区分这些器件?通过器件的地址

4.IIC通信的过程

答案:

由主机发起启用总线,这个时候其他器件就会知道总线被占用就不会去启动总线。

1)主机发送一个字节:字节里面指明要和谁通信和通信的方向是读还是写,这个时候其他器件就会去比较自己的器件地址,看看是不是自己,这个时候确定通信方向之后后面就不能改变通信方向直到通信结束

2)从机对比自己的地址,发现是在叫自己之后就会回应主机

3)发送器发送数据

4)接收器发送回应信号

5)不断循环4、5

6)主机发起停止信号,释放总线

5.IIC协议的信号有什么

答案:

1)起始信号

2)停止信号

3)应答信号

4)发送数据信号:寻址或者数据

6.IIC总线起始信号和停止信号

答案:

起始:在SCL为高电平时,SDA由高变低

停止:在SCL为高电平时,SDA由低变高

字节发送和应答

数据为是8位,先发高为再发低位(1表示高,0表示低),之后接收器会发一位应答位(SCL为低的时候发),0表示应答。

7.解决IIC同步问题

答案:

比如发送方发送数据1111 0000 接收方怎么知道连续发了几个1几个0,这里解决的方法不同于串口,串口主要是依靠波特率,和每次只能发送一个字节来解决时差问题。

但是IIC是使用同步解决

在SCL为低的时候发送方修改自己的电信号为自己想要发送的信号,在SCL为高的时候接收方就会去总线上读取SDA的数据,这个时候发送方的电信号不能变,不然接收方就不知道你是1还是0,这样发一个数据位就接收方就收一个bit,不会存在时间误差。

8.典型的IIC时序

答案:

1)   主机发从机收

2)主机收从机发

3)先主机发几个数从机接收后,想让从机发主机收

这里重新启动之前之所以没有P是因为,发起停止信号后总线使用权可能被抢走

一般的通信流程是

主机发起起始信号---->主机发送目标器件的地址+读写方向--->器件应答------主机发送从机的寄存器地址----->器件应答

9.SPI是什么

答案:

概念:spi是高速、全双工、同步的串行通信总线,SPI至少有4根线,

MOSI 主机发送从机收

MISO 从机发送主机收

SCLK 时钟---->同步

CS 片选---->寻址

10.SPI通信过程

答案:

先发送高位再发送低位,发送完一个字节之后无需应答即可开始下个字节,没有起始,结束,应答信号,直接发送数据。

在时钟线SCL下降沿或者上升沿时,发送器将数据发送到数据线,在紧接着的上升沿或者下降沿接收器从数据线接收数据。

  • 20
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值