深入浅出理解串口

深入浅出理解串口



一、什么是串口?

传输数据的方式有两种:串行通讯和并行通讯
串口是串行接口的简称,串口是一种物理接口!而不是通讯协议!
顾名思义,并口就是并行接口的简称
不管是并口还是串口,都是一种物理接口!!!
所以,串行通讯对应的接口我们称为串口;并行通讯对应的接口我们称为并口

在这里插入图片描述
在这里插入图片描述串行通讯是把数据排成一队,按照排队的先后顺序传输数据
并行通讯是每个数据自己组成一队,然后同时传输

常用给串行通讯协议有:IIC、SPI、JTAG、UART、CAN、RS232、RS485、USB等
嵌入式中常说的串口,其实就是值UART

二、串行通讯

根据使用的时钟不同(同步时钟和异步时钟),我们可以将串行通讯分为同步通讯和异步通讯;
同步时钟:时钟频率一致;可以一对多,效率高
常见的IIC、SPI都属于同步通讯
异步时钟:时钟频率不一致;只能一对一,效率低
常见的UART是属于异步通讯

三、UART协议

1、UART与USART

USART(universal synchronous asynchronous receiver and transmitte): 通用同步异步收发器
USART是一个串行通信设备,可以灵活地与外部设备进行全双工数据交换。
UART(universal asynchronous receiver and transmitter): 通用异步收发器
异步串行通信口(UART)就是我们在嵌入式中常说的串口,它还是一种通用的数据通信议。
双方使用UART通讯时 ,至少需要三根线、知道对方的波特率、数据长度、开始及停止位

2、三根线:

TX:发送数据线
RX:接受数据线
GND:参考点

3、波特率

指的是传输每个字节的时间
例如波特率为115200,那就代表我一秒可以传输115200个字节

4、数据格式

串口一个字节的格式:
在这里插入图片描述

没有奇偶校验位的格式:
在这里插入图片描述以9600 8N1(9600波特率,8个数据位,没有校验位,1位停止位)为例,这是目前最常用的串口配置,现在我们传输’O’'K’两个ASCII值,'O’的ASCII为79,对应的二进制数据为01001111 ,'K’对应的二进制数据为01001011 ,传输的格式数据如下图所示:01111001010110100101

5、奇偶校验位

奇校验:发送一组二进制数据,如果其中位数为1的个数为奇数时,则校验位为0,否则为1。
偶校验:发送一组二进制数据,如果其中位数为1的个数为偶数时,则校验位为0,否则为1。
0校验:校验位固定为0。
1校验:校验位固定为1。


总结

串口是物理接口!不是通讯协议

  • 7
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值