转载:
------------------.设置方式
多次苦苦寻找, 主要存在以下两种配置方式:
1.虚拟机识别串口
★打开 VM10.0 虚拟机软件,但不启动Linux系统
★VM -> Settings -> (左下角)Add -> Serial Port
★选择 use physical serial port on the host
★选择在 Window 下的串口编号, 比如COM3
★选择 Connected at power on 完成后启动虚拟机系统。
★查看虚拟机右下角是否串口已经连接上,没连接上就手动连接
然后在 linux 程序中使用 ttyS0, 进行通讯. 若不行,则尝试一下 ttyS[0-3]
2.虚拟机识别 USB 转串口
★首先 windows 能够识别 USB 转串口(可能需要装驱动)。
★设置虚拟机:VM -> Removable devices -> Future Devices USB Serial Converter -> Connect (Disconnect from Host) 即可
★若步骤二中没有出现 USB 选项, 则关闭虚拟机中的linux系统, 添加过程与配置虚拟机识别串口的添加过程一样.
查看虚拟机 Linux 系统的 /dev 目录,如果有 ttyUSBx 则说明成功了!若是首个 USB 转串口,则显示为 ttyUSB0, 接着在 Linux 程序中打开设备 ttyUSB0,进行串口通讯。
---------------------. 解决过程
博主首先安装的是 VM9.0 版本,尝试了以上第一种识别串口的配置方式,linux 程序打开 ttyS0 - ttyS3 的其中一个, 运行程序,始终没有任何通信数据。
然后使用了直接装的 Ubuntu linux 系统的笔记本来进行测试,插上 USB 转串口的工具,在 /dev/ 目录下, 发现增加了 ttyUSB0 设备,linux 程序中打开该设备进行读写,发现能够通信。
再次返回到 VM 虚拟机上,尝试第二种识别 USB 转串口的设置方式,却一直无法成功连接,原因在于连接时总是报出如下错误:
the device is currently in use!
但实际上根本没有哪个软件在占用.
在网上搜索了一下,发现很多网友也遇见过,可是都没有一个办法来解决, 后面无意之间发现如下博文:
http://forum.ubuntu.org.cn/viewtopic.php?p=3138685
道出了连接 ttyUSB0 时出现连接错误时的解决之道,
把VM虚拟机升级到 10.0 即以上就可以了,VM9.0 有 Bug。
后面我把VM虚拟机从 9.0 升级到 10.0, 果断解决了该问题,尼玛真坑啦!
最后使用 ttyUSB0 进行串口通讯,经测试通讯成功。
看见 ttyUSB0 能够进行通讯了,后又折回到 ttyS0,经验证, 也成功使得 VM 虚拟机运行的 linux 系统中的程序与 Windows 系统下的串口进行了通信.
至此,完美解决了 VMware 虚拟机 Linux 系统的串口使用的问题。
原文:https://blog.csdn.net/qq1452008/article/details/52800767
个人总结:首先设置识别串口,然后设置识别USB转串口
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
————————————————————————————————————————————————————————
其他日常操作:
1、查看可用串口:
dmesg | grep ttyS*
2、查看并修改串口权限使得串口调试工具可以使用:
ls -l /dev/ttyS0
sudo chmod 777 /dev/ttyS0