基础知识:
1.波特率:每秒传输的二进制位数,bps。
2.UART用的是标准TTL/CMOS逻辑电平,可以通过MAX3232转换成RS-232逻辑电平。
RxD/TxD数据线以位为最小数据传输单位。
3.帧:有效传输单位,具有完整数据意义。里面包含:起始位,数据位,校验位,停止位。
一帧数据可以有5-8个数据位,从最低位开始传输,传输前约定好传输的格式和波特率。所以
能达到发送和接受的数据同步。
4.奇偶校验:所有数据位中包含1的个数。
5.帧格式:
n个停止位+起始位+(低)数据位(高)+奇偶校验位+n个停止位。。。
帧的分割是有起始位来标志的。
6.UART工作流程:
发送数据:CPU----》FIFO-------》发送移位寄存器---------》TxD数据线
CPU将数据通过总线发送到FIFO中,UART将FIFO中的数据复制到发送移位寄存器中。
发送移位寄存器根据传输格式(添加开始位,数据位,校验位,中止位)一位一位的发送到TxD数据线上发射。
接受数据:RxD数据线--------》接受移位寄存器-----》FIFO----------》CPU
接受移位把RxD数据线上的数据一位一位接受过来,然后复制到FIFO中,CPU就可以访问到FIFO中数据了。
7.硬件控制流:这个可以联系到TCP三次握手,当要发送数据时,要等待接受方准备好,并返回个准备好的
信号。当发送方接受到这个信号,才开始发送数据。