UART通信协议记录贴

写这篇文章,主要是为了记录一下工作中用到的一些技术、协议等等,随时填充一些细节,方便后续需要,不用再到处找资料了。如有错误的地方,希望各位大佬予以指教!

一、UART简介

UART是一种通用的串行、异步通信总线,它有两条数据线,可实现全双工的收发数据,但是速度较慢,在嵌入式系统中常用于主机与辅助设备之间的通信。

二、硬件连接

UART有两条线,一根为TXD用于发送数据,一根为RXD用于接收数据,连接方式如图1所示。

图1 硬件连接

三、通信过程

图2 UART帧格式

空闲位

UART协议规定在空闲时SDA数据线必须是高电平。

起始位

发送数据前SDA要先发送一个低电平作为起始信号,表示为一次通信的开始。

数据位

根据串口协议规定,发送数据先发送低位,一般发送数据时,可以是5~8位,但通常会发送8位数据,内存是以字节为单位,C语言中最小数据类型char也是8位,为一个字节。

校验位

如果使用校验位,通信速度会变慢,由于目前没有用到,暂不做介绍。

停止位

停止位可以是1位、1.5位或者2位,停止位为高电平,它的作用表示一次通信的结束。

这里强调一点,当接收方检测到起始位电平变化时,它会按照设定的波特率开始读取数据。串口协议不允许连续发送数据,每次通信最多发送一个字节,以防止累计误差的出现。

没有校验位就是一帧10位数据 115200 (位/秒) = 11520 (字节/秒)

四、URAT缺点

  1. UART通信时一般用TTL电平,但不同的处理器的电平存在差异,当不同的处理器使用UART通信时一般不能直接连接。

  1. 抗干扰能力差,UART直接使用TTL来表示0 1,但TTL抗干扰能力较差,数据在传输过程中容易出错。

  1. 通信距离很短,一般只用于一个电路板上的两个芯片间的传输。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值