串口通信是按位发送或接受字节的,虽然没有并行的传输速度快,但是串口通信能够实现发送与接收同时进行,串口通信中是设备与计算机间的连接方式是数据信号线(TX ,RX),地线。串口通信是一个字符一个字符的传输,一个字符又是一位一位的传输,每个字符总是从起始位开始到停止位结束,字符间没有所谓间隔多长时间的概念。
串口通信数据格式:
起始位 数据位(7位/8位) 校验位 停止位
串口通信:比较常见的 RS232 ,RS422,RS485
串口通信的几种工作模式:
1.单工模式:数据传输是单向的,数据传输过程中,同时只能一方发送数据(固定发送端),另一方接收数据(固定接收端),数据只能沿一个方向传输,用一根数据线传输。
2.半双工模式:指的是一端既可以充当发送端也可以充当接收端,数据允许在两个方向上传输,但是任何时候只能一方作为发送端,另一方作为接收方,使用一根传输线或者两条传输线,但是不能进行同时发送接收数据。
3.全双工模式:全双工模式即是两端可以同时作为发送端和接收端,这就要求两端都要有接收器与发送器,并且必须有两条传输线,可以将全双工看成两个半双工的结合。在参数类似的前提下,全双工比半双工的工作效率要高,因为它可以同时发送接收嘛,道理很简单。
奇偶校验 :
对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。如果是奇校验,校验位为1,这样就有3个逻辑高位。
奇校验:如果字符数据位中"1"的数目是偶数,校验位为"1",如果"1"的数目是奇数,校验位应为"0"。
偶校验:如果字符数据位中"1"的数目是偶数,则校验位应为"0",如果是奇数则为"1"。
无校验:校验位始终为0.
停止位:停止位在最后,用以标志一个字符传送的结束,对应于逻辑1(高电平)状态。停止位可以是1位、1.5位或2位,可以由软件设定。但它一定是逻辑1高电平,标志着传输一个字符的结束。
数据位:数据位紧跟在起始位之后,是通信中的真正有效信息。数据位的位数由通信双方共同约定,一般可以是6位、7位或8位,比如标准的ASCII码是0~127(7位),扩展的ASCII码是0~255(8位)。传输数据时先传送字符的低位,后传送字符的高位,即低位(LSB)在前,高位(MSB)在后。