在嵌入式的开发中由于环境的不具备,避免不了使用虚拟机通过串口进行交互测试,而虚拟机应该怎样识别串口呢?识别之后就能直接使用了吗?
1. 识别串口
首先进入虚拟机,不要打开ubuntu或者centos,虚拟机->设置。
之后会弹出一个虚拟机设置框,点击左下角的添加:
之后会弹出一个选择串口:
我们可以选择串行端口,点击下一步;因为在嵌入式开发中我们经常使用usb转串口,所以需要添加usb控制器,点击下一步:
之后USB就会出现添加的两个设备,如果使用的是串口的话。可以直接调用c库的open read write接口操作/dev/ttyS0-ttyS3进行串口通讯,这个不确定你们可以试下;
由于我是用的是USB转串口,我们重点说USB转串口,添加成功后启动ubuntu或者centos,插入usb转串口的设备,虚拟机->可移动设备->会有一个USB2.0-Serial:
点击连接,目前还不能进行串口通讯,首先确定是否安装了usb转串口的驱动:
执行如下命令:
lsmod | grep usbserial
如果出现:
usbserial 49152 1 ch341
如果没有就安装CH340驱动,具体方法问度娘。
到这在根目录dev下就会出现ttyUSBx,但是此时还不能通过open write read操作接口,还需要安装linux终端:
sudo apt-get install minicom
安装成功后执行:
minicom -s
进行终端的配置:
+-----[configuration]------+
| Filenames and paths |
| File transfer protocols |
| Serial port setup |
| Modem and dialing |
| Screen and keyboard |
| Save setup as dfl |
| Save setup as.. |
| Exit |
| Exit from Minicom |
+--------------------------+
选择第三个 Serial port setup
+-----------------------------------------------------------------------+
| A - Serial Device : /dev/ttyUSB0 |
| B - Lockfile Location : /var/lock |
| C - Callin Program : |
| D - Callout Program : |
| E - Bps/Par/Bits : 115200 8N1 |
| F - Hardware Flow Control : No |
| G - Software Flow Control : No |
|
| Change which setting? |
+-----------------------------------------------------------------------+
按照上面的改,ttyUSBx, Bps/Par/Bits参数按照你的实际情况改。
然后执行:
sudo minicom
运行终端工具,运行后会卡住,不过没关系,开另一个窗口,运行自己编写的串口操作程序(open write read等)就能进行串口通讯啦!