串口通信简述
一.串口的特点
1.全双工异步通信
全双工指通信双方可以同时进行数据的发送和接收操作。
异步通信是指通信双方不使用共同的时钟信号来同步数据传输,而是通过特殊的信号或约定来标识数据的开始和结束
2.数据字长度可编程(8 位或 9 位)
不要校验位可以八位,要校验位最好九位
3.停止位可配置 - 支持 0.5/1/1.5/2 个停止位
串口接受数据的流程
硬件检测到接收到数据后,会去看发送移位寄存器有没有数据正在移动,如果没有的话,数据将移动到发送移位寄存器准备发送,当数据从TDR移到发送移位寄存器时,发送寄存器空,标志位TXE(发送寄存器空)为1,便可以开始接受下一个数据。
串口的一些参数:
【波特率】 串口通信的速率
【起始位】 标志一个数据帧的开始,固定为低电平
【数据位】 数据帧的有效载荷,1为高电平,0为低电平,低位先行
【校验位】 用于数据验证,根据数据位计算得来
【停止位】 用于数据帧间隔,固定为高电平
通常情况下,数据字采用8位,加上一位起始位和停止位,共十位,我们可以根据这些判断串口接受的数据是否正常。蓝桥杯12届嵌入式也有这样的题目。可以利用定时器来进行操作,比如波特率为9600,传一个数据就是10*1/9600=1.04ms,可以用定时器来控制。