
通用异步收发传输器Universal Asynchronous Receiver/Transmitter)通常称作UART。定义UART是一种通用串行数据总线用于异步通信。该总线双向通信可以实现全双工传输和接收。在嵌入式设计中UART用于主机与辅助设备通信如汽车音响与外接AP之间的通信与PC机通信包括与监控调试器和其它器件如EEPROM通信。UART俗称串口属于非同步的接发信号机制。引脚有4个分别为VCC,GND,TX(发送端)RX(接收端)。如上图所示在传输信号线上在电平有1-0变化时代表起始位此时数据开始传输(一次传输一个字节也就是8位)从低位到高位依次传输(LSB-MSB)奇偶校验位可有可无要根据传输的数据而定停止位代表一个字节传输的结束后面的空闲位代表此时没有数据传输了。若数据重复发送到了停止位后有转向起始位。奇偶校验奇偶校验(Parity Check)是一种校验代码传输正确性的方法。根据被传输的一组二进制代码的数位中“1”的个数是奇数或偶数来进行校验。采用奇数的称为奇校验反之称为偶校验。采用何种校验是事先规定好的。通常专门设置一个奇偶校验位用它使这组代码中“1”的个数为奇数或偶数。若用奇校验则当接收端收到这组代码时校验“1”的个数是否为奇数从而确定传输代码的正确性。奇校验odd parity让传输的数据包含校验位中1的个数为奇数。即如果传输字节中1的个数是偶数则校验位为“1”奇数相反。以发送字符10101010为例偶校验even parity让传输的数据包含校验位中1的个数为偶数。即如果传输字节中1的个数是偶数则校验位为“0”奇数相反。还是以发送字符10101010为例数据和校验位发送给接受方后接收方再次对数据中1的个数进行计算如果为奇数则校验通过表示此次传输过程未发生错误。如果不是奇数则表示有错误发生此时接收方可以向发送方发送请求要求重新发送一遍数据。优缺点奇偶校验的检错率只有50%因为只有奇数个数据位发生变化能检测到如果偶数个数据位发生变化则无能为力了╮(╯﹏╰╭奇偶校验每传输一个字节都需要加一位校验位对传输效率影响很大。奇偶校验只能发现错误但不能纠正错误也就是说它只能告诉你出错了但不能告诉你怎么出错了一旦发现错误只好重发。虽然奇偶校验有很多缺点但因为其使用起来十分简单故目前仍被广泛使用。UART的优点和缺点优点(1)只使用两根电线(2)不需要时钟信号(3)有一个奇偶校验位(4)只要双方设置后就可以改变数据包的结构(5)有完整的文档并且具有广泛的使用缺点:(1)数据帧的大小限制为最多9位(2)不支持多个从属或多个主系统(3)每个UART的波特率必须在10%之内