串口通讯协议UART、SPI、IIC。

本文介绍了三种常见的串口通讯协议:UART、SPI和IIC。UART是一种异步全双工通信方式,通常使用3根线实现通信。SPI是同步半双工通信协议,而IIC则适用于板级通信,具有特定的起始和停止条件,以及上拉电阻选择和通信速率。
摘要由CSDN通过智能技术生成

1. UART

通讯的双方必须将数据包的格式(波特率、数据位、检验位、停止位)约定一致才能正常收发数据。

串口线最少需要两根(GND和信号线),可以实现单工通信;也可以使用3根通信线(TX、RX、GND),来实现全双工通信

1.1 异步全双工:UART是通用异步收发传输器,使用RxDTxD两根线实现异步全双工通信;为确保通信可靠,可以在通信两边接共地;因此,完整的UART通信只需最少3根线即可。

1.2单工通信:最少两根线,信号线和GND线。

TXD:发送数据
RXD:接收数据
GND:接地

1.3数据形式

传输以位为单位

1位起始位-->5-8位(8位常用)-->0-1检校位-->1-2位停止位(常用1位)-->(可能有不定长的空闲位)。

transmitter发送缓冲区和发送移位寄存器构成

我们要发送信息时,首先将信息进行编码(一般用ASCII码)成二进制流,然后将一帧数据(一般是8位)写入发送缓冲区(从这里以后程序就不用管了,剩下的发送部分由硬件自动完成),最后发送移位寄存器会自动从发送缓冲区中读取一帧数据,然后自动移位(移位的目的是将一帧数据的各个位分别拿出来)将其发送到Tx通信线上。

receiver接收缓冲区和接收移位寄存器构成

当有人通过串口线向我发送信息时,信息通过Rx通信线进入我的接收移位寄存器中,然后接收移位寄存器自动移位并将该二进制位保存入我的接收缓冲区,接收完一帧数据后receiver会产生一个中断给CPU,CPU收到中断后即可知道receiver接收满了一帧数据,就会来读取这帧数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值