系列文章目录
UART/SPI/RS232/RS485/IIC五种嵌入式通信总线协议
第一章 UART协议
前言
这五种常见的嵌入式通信总线协议的学习是必不可少的,以前对这种协议的理解还不够透彻,它们到底是用来干嘛的,今天将对其重新回顾、重新记录!
一、UART是什么?
UART为异步通信,根据波特率来区别,而同步通信根据时钟线区别。
二、UART详解
1、UART帧格式详解
空闲位:空闲时高电平
起始位:低电平
数据位:低位先行
校验位:校验是按传送的数据中1的个数是偶数还是奇数,来确定校验位是0还是1的
停止位:一般1位
2、UART硬件连接
注意TX->RX,RX->TX交叉接线!
3、UART控制器
不用关心内部发送接收数据的过程,因为控制器会做这部分工作,咱们只需要设置相关寄存器(波特率、停止位等)即可。
UART有四个独立的通道,其中0-3:发送接收数据 4:指定通道用于GPS的通信
总结
1.串行是全双工、异步通讯
2.空闲时,RX和TX默认为高电平
3.数据起始位为低电平
4.串口发送数据过程中,低位在前,高位在后,数据一般为8位
6.串口可选择是否开启数据校验,校验位:单个字节数据校验,对数据中高低电平数据个数进行计数,常见的有奇偶校验
7.停止位为高电平
8.每个串口通道有两个FIFO去发送和接受数据
9.串口传输速率:比特率,表示1秒传输数据位数。
10.累计误差消除:
两个单片机通讯,波特率可能会存在一定误差,如果单个数据字节长度过长,会导致误差累加,严重时会导致数据错误。所以规定串口传送的字符数据位为5~8位。