串口介绍
通讯接口,可实现两个设备的互相通信。51单片机内部自带UART(Universal Asynchronous Receiver Transmitter,通用异步收发器),可实现单片机串口通信、
串口是串行通信,一位一位的发收,低位先行。
硬件电路
电平标准
TTL标准较常用
差分信号:TTL、RS232上的电压值是通信线相对于GND的电压,RS485上的电压值是两根两根通信线之间的电压差值(可以极大的提高传输距离)
数据形式
常见的通信接口
51单片机:
32单片机
串口参数及时序图
波特率:串口通信的速率(发送和接收各数据位的间隔时间)//UART是异步通信,需要通信双方各自约定通信速率
起始位:打破初始的高电平(下降沿启动)
# 数据低位先行
(UART的时序图较简单)
校验:例如奇校验
发送端发送0000 1001,发送了2个1,在最后补一个1: 0000 1001 1,确保是奇数个1,
接收端接收0000 1001 1,判断是否是奇数个1,若是则认为发送正确(但排错率不高)
51单片机的UART
T1溢出率涉及到时钟模块
串口相关寄存器
相关寄存器具体配置及其功能见STC89C52手册
32单片机USART
USART1是APB2的外设,其他USART是APB1的外设
配置停止位长度,配置其为几个时钟周期的长度。