一、基础知识
UART:通用异步收发传输器,universal asynchronous receiver transmitter
作用:低速接口,串并转换。把并行输入的信号转换成串行输出,作为连接外部设备的接口,如EEPROM通信。
原理:异步串口通信协议,把传输数据的每个字符按一位一位地传输。
TTL电平信号:vcc=0v时,代表逻辑0;vcc=3.3v/5v,代表逻辑1。
RS232标准电平信号:vcc为-3v~-13v时,代表逻辑0;vcc为+3v~+13v时,代表逻辑1;
UART内部可设电平转换芯片,将TLL转换成RS232标准。
两个MCU间的连接通过三根线通信,RXD,TXD,GND。其中GND保证两设备共地,具有统一的参考平面。双方的数据包格式和波特率约定一致后才能通信。
二、通信协议
数据包的格式:起始位+数据位(5~8bit)+校验位(可有可无)+停止位(1~2bit)。
起始位:由一个逻辑0的数据位表示。
数据位:在起始位之后,紧接着为传输数据的主体内容,即有效数据。长度可以是5、6、7、8位长度。其中数据位紧接着起始位的是LSB最低有效位,而紧接着校验位的是MSB最高有效位。
校验位:在有效数据之后,有一个可选的数据校验位。校验方法有奇校验(odd),偶校验(even),0校验(space),1校验(mark)以及无校验(noparity)。
停止位:停止信号可由0.5、1、1.5、2个逻辑1的数据位表示。
波特率:UART异步通