串口通信

串行通讯

串行通讯:一条信息的各位数据被逐位按顺序传送的通讯方式称为串行通讯。

串行通讯的特点是:数据位传送,传按位顺序进行,最少只需一根传输线即可完成,

成本低但送速度慢。串行通讯的距离可以从几米到几千米。

根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工三种。

 

单片机串口通信一般是11位,起始位1bit,数据位8bit,校验位1bit,

停止位1bit,串口通信分两种一种是同步通信,一种是异步通信,像ps\2键盘就是同步,

一般的单片机下载都是异步通信,起始位表示过了这个位就是数据位了,接着8位数据,然后校验,然后停止位,停止位表示这一桢数据结束。

波特率

奇偶校验

奇校验(O):所有传送的数位(含字符的各数位和校验位)中,“1”的个数为奇数,如:

1 0110,0101

0 0110,0001

偶校验(E):所有传送的数位(含字符的各数位和校验位)中,“1”的个数为偶数,如:

1 0100,0101

0 0100,0001

无校验(N):

数据位与停止位

数据位:1位、2位

停止位:1位、1.5位、2位

流控制

流控制在串行通讯中的作用: 解决丢失数据的问题

硬件流控制:硬件流控制常用的有RTS/CTS(请求发送/清除发送)流控制和DTR/DSR(数据终端就绪/数据设置就绪)流控制

软件流控制:一般通过XON/XOFF来实现软件流控制。

单工、半双工和全双工的定义

如果在通信过程的任意时刻,信息只能由一方A传到另一方B,则称为单工。

如果在任意时刻,信息既可由A传到B,又能由B传A,但只能由一个方向上的传输存在,称为半双工传输。

如果在任意时刻,线路上存在A到B和B到A的双向信号传输,则称为全双工。

数据传输方向

电话线就是二线全双工信道。 由于采用了回波抵消技术,双向的传输信号不致混淆不清。

双工信道有时也将收、发信道分开,采用分离的线路或频带传输相反方向的信号,如回线传输。

--------> <--------> -------->
A-------B A-------B A-------B
<--------
单工 半双工 全双工

参见