串口通信协议
串口通信(UART)是一种用两线(Rx【发送端】、Tx【接收端】)实现的异步、全双工通信方式。
由于串口通信没有时钟信号线,由此而出现波特率(BaundRate),即接收和发送双方规定好相同的波特率;以此来保证传送的数据的正确性;
※波特率:一秒钟内传送的比特数目。
如下图1是串口通信协议(UART Protocol),分为五个阶段分别为:起始位(Start)、有效数据位(Vaild
Data Bits)、奇偶校验(Parity)、停止位(Stop)、空闲位(Idle)。
◆ 对于上图一帧的数据,是有这样的格式组成的。
◆ 第1位:起始位,为0。
◆ 第2~9位:是有效数据位,先传输低位,再传输高位。
◆ 第10位:奇偶校验位,parity,有的核会有no parity这个参数设置,就没有奇偶校验位。
◆ 第11位:停止位,为1。
开始状态:
由于接收端(Rx)空闲时处于高电平转态,当要接收数据时(一般是有标志信号),接收端被拉低,并维持一个bit时间的低电平,接下来进入接收有效数据。
数据接送状态:数据的接收方式为,先接收最低位数据0(LSB),最后接收最高位数据(MSB)数据的接收在相同的波特率下进行。
奇偶校验位:奇偶校验是一种校验接收数据正确性的一种方式。
偶校验 :是要保证传送的一帧数据中出现 1的数目是偶数个。如果前面的数据是奇数个 1 时,则校验位则为1 ,以确保发送的一帧数据是偶数个 1。
停止位:停止位为高电平,并维持一个bit的时间。