嵌入式面试必备

UART是一种串行异步通信协议,SPI是高速全双工同步协议,IIC则是同步半双工协议。它们各自有不同的特性,如UART的波特率、SPI的四种工作模式和IIC的起始结束信号、应答信号等。这些协议广泛应用于嵌入式系统和电子设备中。
摘要由CSDN通过智能技术生成

UART

UART是通用异步收发器(Universal Asynchronous Receiver/Transmitter)的缩写,是一种串行、异步、全双工的通信协议。
UART

串行/并行

串行:一次传输一个数据。
并行:一次传输多个数据。

异步/同步

异步:一方发送,不考虑另一方是否收到,直接进行下一次传输(不带时钟同步信号)。
同步:一方发送,另一方应答,否则不进行下一次传输(带时钟同步信号传输)。

单工/半双工/全双工

单工:单向通信,只能由一方发送数据,另一方接收。
半双工:双方都可发送数据,但同一时刻只能一方发送,一方接收。
全双工:双方都可发送数据,并且可同时发送数据。

波特率

波特率(bits per second):每秒传输的比特位。例如:9600bps,传输一个比特1/9600≈104.2us。

各位含义

空闲位:总线空闲时信号线为‘1’高电平,表示没有数据传输。
起始位:每开始一次通信,发送方发出一个‘0’低电平信号。
数据位:起始位之后是数据位,数据位可以是5、6、7、8,9位,一般都是8位。先发送最低位,最后发送最高位,使用低电平表示‘0’,高电平表示‘1’。
奇偶校验位:可选。
停止位:一次数据的结束标志。可以是1位、1.5位、2位的高电平。

SPI

SPI是串行外设接口(Serial Peripheral Interface)的缩写,是一种串行、同步、全双工的通信协议。由于时钟频率可以上百 MHz,因此SPI 速率很快,可以达到几十MHz(Mb/s)。
SPI

各位含义

CS/SS(Slave Select/Chip Select):片选信号线,低电平有效。
SCK(Serial Clock):时钟,由主机产生。
MOSI/SDO(Master Out Slave In/Serial Data Output):主机向从机发送数据。
MISO/SDI(Master In Slave Out/Serial Data Input):从机向主机发送数据。

工作模式

SPI有四种工作模式:

SPI模式时钟极性(CPOL)时钟相位(CPHA)空闲时SCK时钟采样时刻
000低电平第1个边沿
101低电平第2个边沿
210高电平第1个边沿
311高电平第2个边沿

时钟极性(CPOL):0/1,串行时钟低/高电平空闲
时钟相位(CPHA):0/1,串行时钟第1/2跳变沿采样
SPI时序

IIC

IIC是集成电路总线(Inter-Integrated Circuit)的缩写,是一种串行、同步、半双工的通信协议,由数据线SDA和时钟SCL组成。每当主机向从机发送完一个字节的数据,主机总是需要等待从机给出一个应答信号,以确认从机是否成功接收到了数据。如果两个或更多的主机同时请求总线,可以通过冲突检测和仲裁防止总线数据被破坏。
IIC

起始结束信号

IIC起始结束信号
起始信号:时钟线SCL为高时,数据线SDA由高到低。
停止信号:时钟线SCL为高时,数据线SDA由低到高。
注:SDA和SCL同时为高时,为IIC总线的空闲状态。
在起始信号后必须发送7位从机地址+1位方向位,“0”:主机发送数据,“1”:主机接收数据。

数据有效

IIC有效数据
数据有效:时钟线SCL为高时。

应答信号

IIC应答信号
应答信号:数据发送完后,时钟线SCL为高时,数据线SDA被拉低。

读写时序

常用的数据收发方式:写一个字节、连续写多个字节、当前地址读一个字节、随机读一个字节、连续读多个字节。
IIC写一个字节
IIC连续写多个字节
IIC当前地址读一个字节
IIC随机读一个字节
IIC连续读多个字节

代码基础类

函数指针/指针函数

函数指针是一个指针,用来指向函数的。
指针函数是一个函数,是函数指针指向的那个函数。

段的初始化启动方式

参考文献

[1] UART、SPI、I2C串行通讯协议解释 同步/异步 全双工/半双工通信含义
https://blog.csdn.net/qq_41709234/article/details/122948501
[2] 串行和并行的区别
https://baijiahao.baidu.com/s?id=1736121445985086158
[3] UART串口协议详解
https://zhuanlan.zhihu.com/p/150504364
[4] SPI通信的4种工作模式
https://www.elecfans.com/tongxin/202209301900633.html
[5] 一文深入理解IIC通信基础知识
https://www.elecfans.com/d/1845634.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张暮笛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值