串口调试出现的问题总结

一、咱们一般调车的时候都会遇到要使用串口仍是网口来进行调试的问题,那么什么是“串口”什么是“网口”呢?
• 二、串口和COM口、USB口、UART口又有什么区别呢?
• 三、调试当中咱们常说的“RS-232”和“RS-422”、“RS-485”又是指代的什么东西呢?
• 四、网口通讯和串口通讯都是怎么实现的呢?
• 五、介绍串口通讯问题。



网络

串口以及串口通讯
• 串口:串口是一个泛称,UART、TTL、RS23二、RS485都遵循相似的通讯时序协议,所以都被通称为串口。
• 串口通讯(Serial Communications)的概念很是简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通讯慢,可是串口能够在使用一根线发送数据的同时用另外一根线接收数据。它很简单而且可以实现远距离通讯。对于串口而言,长度可达1200米。通常情況下,串口用于ASCII码字符的传输。
• 通讯使用3根线完成,分别是地线、发送、接收。因为串口通讯是异步的,端口可以在一根线上发送数据同时在另外一根线上接收数据。其余线用于握手,但不是必须的。串口通讯最重要的参数是波特率、数据位、中止位和奇偶校验。对于两个进行通讯的端口,这些参数必须匹配。
• 串口通讯使用到的几个参数:
• a,波特率:这是一个衡量符号传输速率的参数。指的是信号被调制之后在单位时间内的变化,即单位时间内载波参数变化的次数,如每秒钟传送240个字符,而每一个字符格式包含10位(1个起始位,1个中止位,8个数据位),这时的波特率为240Bd,比特率为10位*240个/秒=2400bps。通常调制速率大于波特率,好比曼彻斯特编码)。
• b,数据位:这是衡量通讯中实际数据位的参数。当计算机发送一个信息包,实际的数据每每不会是8位的,标准的值是六、7和8位。如何设置取决于你想传送的信息。好比,标准的ASCII码是0~127(7位)。扩展的ASCII码是0~255(8位)。若是数据使用简单的文本(标准 ASCII码),那么每一个数据包使用7位数据。每一个包是指一个字节,包括开始/中止位,数据位和奇偶校验位。因为实际数据位取决于通讯协议的选取,术语“包”指任何通讯的状况。
• c,中止位:用于表示单个包的最后一位。典型的值为1,1.5和2位。因为数据是在传输线上定时的,而且每个设备有其本身的时钟,极可能在通讯中两台设备间出现了小小的不一样步。所以中止位不只仅是表示传输的结束,而且提供计算机校订时钟同步的机会。适用于中止位的位数越多,不一样时钟同步的容忍程度越大,可是数据传输率同时也越慢。
• d,奇偶校验位:在串口通讯中一种简单的检错方式。有四种检错方式:偶、奇、高和低。固然没有校验位也是能够的。对于偶和奇校验的状况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,若是数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。若是是奇校验,校验位为1,这样就有3个逻辑高位。高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。这样使得接收设备可以知道一个位的状态,有机会判断是否有噪声干扰了通讯或者是否传输和接收数据是否不一样步。
• 网口:网线接入口
• 网口通讯(Socket Communications),就是经过所谓的“套接字(Socket)”来进行通讯的一种通讯方式。
• 解释:两个进程如须要进行通信最基本的一个前提能可以惟一的标示一个进程,在本地进程通信中咱们可使用PID来惟一标示一个进程,但PID只在本地惟一,网络中的两个进程PID冲突概率很大,这时候咱们须要另辟它径了,咱们知道IP层的ip地址能够惟一标示主机,而TCP层协议和端口号能够惟一标示主机的一个进程,这样咱们能够利用ip地址+协议+端口号惟一标示网络中的一个进程。可以惟一标示网络中的进程后,它们就能够利用socket进行通讯了,socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操做抽象为几个简单的接口供应用层调用已实现进程在网络中通讯。
• RS232和RS422。那么咱们就须要首先明确在车上是用的串口接头是RS232仍是RS422,RS232串口有9针串口(DB9)和25针串口(DB25)。在RS232的接线当中最为简单且经常使用的是三线制接法,即地、接收数据和发送数据三脚相连。
• 下面介绍RS232串口接线图 :
• (右下图示为DB9和DB25的经常使用信号脚说明字串7)
在这里插入图片描述
串口传输数据只要有接收数据针脚和发送针脚就能实现:同一个串口的接收脚和发送脚直接用线相连,两个串口相连或一个串口和多个串口相连 同一个串口的接收脚和发送脚直接用线相连 对9针串口和25针串口,均是2与3直接相连(以下图所示)
在这里插入图片描述
串口调试中要注意的几点: 不一样编码机制不能混接,如RS232C不能直接与RS422接口相连,市面上专门的各类转换器卖,必须经过转换器才能链接;线路焊接要牢固,否则程序没问题,却由于接线问题误事;串口调试时,准备一个好用的调试工具,如串口调试助手、串口精灵等,有事半功倍之效果;强烈建议不要带电插拨串口,插拨时至少有一端是断电的,不然串口易损坏。
在这里插入图片描述
注意232的接口通讯母头和公头是有区别的:
.RS-232端(DB9母头/孔型)引脚定义
引脚序号 2 3 5 一、四、6 七、8
信号定义 TXD RXD GND 内部相连 内部相连
注:该口可直接插入计算机的COM口
.RS-232端(DB9公头/针型)引脚定义
引脚序号 2 3 5 一、四、6 七、8
信号定义 RXD TXD GND 内部相连 内部相连
注:该口可接与计算机通信的设备



























异步