两台电脑进行串口通信,该用什么线缆连接起来?

273 views
Skip to first unread message

Plain_Text

unread,
Mar 27, 2019, 7:41:46 AM3/27/19
to sz...@googlegroups.com

  这里有许多硬件玩家,应该熟悉单片机上的串口调试。然而现在我希望将两台
PC 机用串口线连接起来,进行串口通信。该怎么接线?


  分三种情况:

两台电脑都有串口(均为公头)

一台电脑有串口,另一台没有,没有串口的电脑经 USB 转串口。

两台电脑都没有串口,都经 USB 转串口。


  淘宝上有许多相关线缆,公母头都有,直连和交叉也都有。我买了一大堆各种
线缆,各种方法搭配起来测试,均不成功。要么根本没反应,要么只能收到垃圾
数据。软件层面应该没问题,因为我在虚拟机里测试过。已经熟悉相关软件,串口
通信的收发数据也都正常。

  对线缆以及接法究竟需要有哪些要求,有哪些特别的注意事项?






Atommann

unread,
Mar 27, 2019, 11:00:08 AM3/27/19
to Shenzhen DIY Lab
用交叉线。
PC1 TXD ----\/---- PC2 TXD
PC1 RXD ____/\____ PC2 RXD
PC1 GND -----------PC2 GND

USB 转串口你是 TTL 电平还是 RS232C?
两边的电平要一样。Baudrate和别的参数设置成一样。


--
Best regards,
Atommann

lessonwill

unread,
Mar 27, 2019, 12:16:58 PM3/27/19
to sz...@googlegroups.com

DB9接口的话,2/3线交叉即可。

--
--
You received this message because you are subscribed to the Google
Groups "Shenzhen DIY community" group.
To post to this group, send email to sz...@googlegroups.com
To unsubscribe from this group, send email to
szdiy+un...@googlegroups.com
For more options, visit this group at
http://www.szdiy.org
http://groups.google.com/group/szdiy?hl=zh-CN
---
您收到此邮件是因为您订阅了Google网上论坛上的“Shenzhen DIY community”群组。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到szdiy+un...@googlegroups.com
要查看更多选项,请访问https://groups.google.com/d/optout

Plain_Text

unread,
Mar 27, 2019, 7:38:33 PM3/27/19
to sz...@googlegroups.com

  谢谢两位的回复。电脑上的串口是九针公头,应该是 RS232 电平吧?

  现在的情况是:我这里的两台电脑只有一台有串口,另一台只能经 USB
转串口。用的是 2/3 交叉线(就是在淘宝上买的那种很普通的交叉线),发现通信
不正常。我又怀疑串口本身可能有故障,但可以确定两台机的 USB 口都是正常的。
于是两台电脑都用 USB 转串口线,当然中间经过交叉线转换。依然通信不正常,
看来还是线路的问题。因为暂时没有其他带串口的机器,因此没有测试两端都是
串口,用交叉线连接的情况。

  波特率之类的参数两边都一致,为了防止波特率过高导致传输距离有限,特地
将波特率从 115200 调低到 9600 来测试。而且在虚拟机里用同样的软件和参数
配置测过,通信完全正常。虚拟机跟物理机不同的就是:虚拟机是软件模拟的串口,
而不是物理连接。


  对转换芯片有特别的要求吗?付上淘宝链接:

USB 转串口买了三种
https://item.taobao.com/item.htm?id=556712550690
https://item.taobao.com/item.htm?id=39955389477
https://item.taobao.com/item.htm?id=581189063550

交叉线
https://item.taobao.com/item.htm?id=35809485409

大家帮忙鉴定一下。商品描述上声称的是 HL340 芯片,插入电脑后显示却是 CH341.
这种线不会是假货吧?如果确实是假货,那么评论区里应该早就有人反应了。不过
从另外一家:

https://item.taobao.com/item.htm?id=529069525432

的商品描述来看,似乎确实可能存在假货,只是我没买这家的。按照上面的说法,
它家的芯片是货真价实的 CH340.







Atommann

unread,
Mar 27, 2019, 8:16:42 PM3/27/19
to Shenzhen DIY Lab
https://www.intel.com/content/www/us/en/support/articles/000017881/mini-pcs.html
上面的文章用了流控制。

线你试试 Z-TEK 或 DTECH 的,基于 FTDI 的芯片那类。

--
Best regards,
Atommann

Plain_Text

unread,
Mar 27, 2019, 8:56:03 PM3/27/19
to Shenzhen DIY Lab


2019-03-28(Thursday) 08:16:21 +0800, Atommann <atom...@gmail.com>:


> https://www.intel.com/content/www/us/en/support/articles/000017881/mini-pcs.html
> 上面的文章用了流控制。
>
> 线你试试 Z-TEK 或 DTECH 的,基于 FTDI 的芯片那类。




  谢谢,之前我用 Two PC Serial 去搜索的时候已经看到了这篇。只是我这里
两台电脑都是 Linux, 而且我觉得 Linux 更方便。因为在 Windows 下,两台都有
串口还好办。只要有一台没有串口,需要用到 USB 转串口的话,就需要按照驱动。
而 Linux 可以直接识别,不需要安装驱动。

  那篇英特尔网站的文章里提到的线缆太高档了,普通的串口通信应该没必要。
假如我买的那种线不符合要求的话,其他人应该在评论区里早就闹了。当然大多数
人买这种线应该都是用来调试单片机一类的硬件,双电脑串口通信的情形应该很少。






杨城

unread,
Mar 27, 2019, 9:12:55 PM3/27/19
to Shenzhen DIY Lab
可以分步骤来看,首先串口是不是可以操作的,在Linux下的串口可能是/dev/ttyUSB?也可能是/dev/ttyACM?或者其它设备名。先试单机,首先确认自己是否有权限操作,方法大致为先短接自身的TX和RX,进行数据通讯测试数据是否有回传。如果这一步成功后再进行双机测试。
Linux下的串口驱动还是不错的,我很少有试到不可以使用的。如果您方便可以晚上来空间,当面测试一下

Plain_Text <resa...@gmail.com> 于2019年3月28日周四 上午8:56写道:
> --
> --
> You received this message because you are subscribed to the Google
> Groups "Shenzhen DIY community" group.
> To post to this group, send email to sz...@googlegroups.com
> To unsubscribe from this group, send email to
> szdiy+un...@googlegroups.com
> For more options, visit this group at
> http://www.szdiy.org
> http://groups.google.com/group/szdiy?hl=zh-CN
> ---
> 您收到此邮件是因为您订阅了 Google 网上论坛的“Shenzhen DIY community”群组。

Plain_Text

unread,
Mar 27, 2019, 9:17:41 PM3/27/19
to Shenzhen DIY Lab

2019-03-28(Thursday) 09:12:42 +0800, 杨城 <gump...@gmail.com>:


> 可以分步骤来看,首先串口是不是可以操作的,在Linux下的串口可能是/dev/ttyUSB?也可能是/dev/ttyACM?或者其它设备名。先试单机,首先确认自己是否有权限操作,方法大致为先短接自身的TX和RX,进行数据通讯测试数据是否有回传。如果这一步成功后再进行双机测试。
> Linux下的串口驱动还是不错的,我很少有试到不可以使用的。如果您方便可以晚上来空间,当面测试一下



  设备名没有弄错, /dev/ttyS0 或者 /dev/ttyUSB0. 都是 dialout 组用户,
肯定有权限。测试软件也都能打开串口设备,就是硬件连接上的问题。






lessonwill

unread,
Mar 27, 2019, 9:32:31 PM3/27/19
to sz...@googlegroups.com
先针对每一侧做环回测试,将2,3短接,确认能自发自收。
然后再将两端连起来,2,3交叉。

-----Original Message-----
From: szdiy+bncbcp3b4vgxyg...@googlegroups.com [mailto:szdiy+bncbcp3b4vgxyg...@googlegroups.com] On Behalf Of Plain_Text
Sent: Thursday, March 28, 2019 7:38 AM
To: sz...@googlegroups.com
Subject: Re: [szdiy] 两台电脑进行串口通信,该用什么线缆连接起来?


--
--
You received this message because you are subscribed to the Google Groups "Shenzhen DIY community" group.
To post to this group, send email to sz...@googlegroups.com To unsubscribe from this group, send email to
szdiy+un...@googlegroups.com
For more options, visit this group at
http://www.szdiy.org
http://groups.google.com/group/szdiy?hl=zh-CN
---
您收到此邮件是因为您订阅了 Google 网上论坛的“Shenzhen DIY community”群组。

Plain_Text

unread,
Mar 27, 2019, 10:03:08 PM3/27/19
to sz...@googlegroups.com

2019-03-28(Thursday) 09:32:24 +0800, lessonwill <lesso...@126.com>:


> 先针对每一侧做环回测试,将2,3短接,确认能自发自收。
> 然后再将两端连起来,2,3交叉。



  请问该怎么短接?直接用跳线帽短线一下,不用接其他任何线吗?




Plain_Text

unread,
Mar 27, 2019, 11:15:32 PM3/27/19
to sz...@googlegroups.com

  在各位的提示下,我做了一下短接测试。对于公头,就用普通的跳线帽;对于
母头,就用细铁丝。自收自发没反应,无论是电脑自带的串口还是 USB 转换出来
的串口都没反应。但我确定软件设置是正确的,因为手头还有一根 USB 转 TTL 的
串口线,用来连接树莓派的。将那根 USB 转 TTL 串口线的收发口短接,自收自发
很正常。

  问题是: USB 转 TTL 的串口真的跟电脑上的九针/孔串口的内部设置一样吗?
要知道,前者只有四条线(连树莓派只需要用到三条),而后者有九条。前者只需
简单短接,而后者也如此吗?





lessonwill

unread,
Mar 27, 2019, 11:27:21 PM3/27/19
to sz...@googlegroups.com
不选流控的话,是一样的,只用2,3,5三根线

-----Original Message-----
From: szdiy+bncbcp3b4vgxyg...@googlegroups.com [mailto:szdiy+bncbcp3b4vgxyg...@googlegroups.com] On Behalf Of Plain_Text
Sent: Thursday, March 28, 2019 11:15 AM
To: sz...@googlegroups.com
Subject: Re: [szdiy] 两台电脑进行串口通信,该用什么线缆连接起来?


张鹏

unread,
Mar 29, 2019, 5:53:54 AM3/29/19
to sz...@googlegroups.com
你的描述里面我看得有些乱,随便说几句,说错了别见怪。一般MCU上面的UART口都是TTL电平,要经过芯片才能转成RS232、RS485/422、USB等。
如果你拿了一个USB转TTL的头接到RS232上面,是不通的因为电压不一样。

在说几句检查本地串口好坏的过程:
首先,你要用主板上的串口,请先进bios里面确认com口是enable的,而且中断和地址正确(其实简单调入一下默认值就可以了),先得保证主板打开串口;
如果你不用主板上的串口,也请进bios把板载串口关闭,以释放中断。

然后,检查一下系统里面串口是否正常,如果是win系统,就看看设备管理器有没有com1这样的设备名,如果是linux就看看有没有/dev/ttySn一类的设备名,然后系统能找到串口;
如果操作系统上没有找到串口号,可能是驱动的问题,也有可能是硬件问题,无论如何显得让操作系统找到串口。

接着,把串口的pin2和pin3短接(我使用跳线帽来短接),用终端软件打开串口,看看会不会输入一个字符马上回显一个字符,有回显的话就是收发都是正常的。
没有回显的话,就是串口有问题;可能是坏了,可能是资源冲突。

根据我有限的使用经验,市场上卖的成品usb转换头是超容易坏的,似乎跟品牌、价钱没什么关系。笼统来说可能是我们接地、共地、没做好吧。
所以,当你拿着两个USB串口无法通讯时,先把两个头分开,用跳线帽短接pin2和pin3,看它们能不能自发自收。然后更换坏的一端。

如果两个USB转换器都可以自发自收,但接在一块就是不通,肯定是两边的地没有共起来,换到好为止吧。

另外,一个建议是: 自己开发用的话一般是买模块不要买成品, 备点转换头的IC,坏了就自己换下。


唠唠叨叨说一堆,勿怪

lessonwill <lesso...@126.com> 于2019年3月28日周四 上午11:27写道:

Plain_Text

unread,
Mar 29, 2019, 9:18:50 AM3/29/19
to sz...@googlegroups.com

  谢谢您的耐心回复,不过今天我已经搞定了。现在晚上有空闲,详细说一下。

  最终发现是驱动的问题,这个 USB 转串口用的是南京沁恒的 CH341 芯片,
Linux 下自带的该芯片的驱动问题多多(但它的 Windows 驱动很正常)。有兴趣的
可以用 "ch341.ko" 去搜索一下,就知道许多人遇到过这种问题。给驱动打个补丁,
就一切正常了。

  虽然昨天短接测试 USB 转串口的时候驱动有问题,然而直接短接测试主板自带
的串口是跟这个问题无关的。按理来说,昨天做短接测试的时候,主板自带的串口
应该自收自发正常。可能是昨天测试的时候没短接好,因为主板自带的串口在机箱
后面,不太好操作。

  谢谢这两天来,各位的热心帮助。





chiachen

unread,
Mar 30, 2019, 8:14:51 AM3/30/19
to sz...@googlegroups.com
看出来了,这里嵌入式同行很多啊。

Plain_Text <resa...@gmail.com> 于2019年3月29日周五 下午9:18写道:

Rafael Lee

unread,
Apr 17, 2019, 1:26:59 PM4/17/19
to Shenzhen DIY community
推荐 CP2102 和 FT232,Linux 驱动稳定。FT232 还有 UUID。


On Saturday, March 30, 2019 at 8:14:51 PM UTC+8, chiachen wrote:
看出来了,这里嵌入式同行很多啊。

Plain_Text <resa...@gmail.com> 于2019年3月29日周五 下午9:18写道:

  谢谢您的耐心回复,不过今天我已经搞定了。现在晚上有空闲,详细说一下。

  最终发现是驱动的问题,这个 USB 转串口用的是南京沁恒的 CH341 芯片,
Linux 下自带的该芯片的驱动问题多多(但它的 Windows 驱动很正常)。有兴趣的
可以用 "ch341.ko" 去搜索一下,就知道许多人遇到过这种问题。给驱动打个补丁,
就一切正常了。

  虽然昨天短接测试 USB 转串口的时候驱动有问题,然而直接短接测试主板自带
的串口是跟这个问题无关的。按理来说,昨天做短接测试的时候,主板自带的串口
应该自收自发正常。可能是昨天测试的时候没短接好,因为主板自带的串口在机箱
后面,不太好操作。

  谢谢这两天来,各位的热心帮助。





--
--
You received this message because you are subscribed to the Google
Groups "Shenzhen DIY community" group.
To post to this group, send email to sz...@googlegroups.com
To unsubscribe from this group, send email to

For more options, visit this group at
http://www.szdiy.org
http://groups.google.com/group/szdiy?hl=zh-CN
---
您收到此邮件是因为您订阅了 Google 网上论坛的“Shenzhen DIY community”群组。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到szdiy+unsubscribe@googlegroups.com
要查看更多选项,请访问 https://groups.google.com/d/optout
Reply all
Reply to author
Forward
0 new messages