1.哪个串口调试助手支持虚拟端口?
首先下载好虚拟串口工具也就是Virtual Serial Port Driver,然后打开软件。
右边方框中是用来选择希望连接的串口的位置,比如这里我想要把COM1口和COM10口虚拟出一个通路,只需要在两个选择框内分别选择COM1口和COM10口即可,然后点击Add Pair完成添加。 添加好的串口就会出现在左边的Virtual Port中,当然这里也可以添加多对串口,如图所示。
如果我们想要删除一对已经连接的串口,只需在左边选中那个串口,然后点击右边的“Delete Pair”按钮即可。 删除完毕之后左边就不会有刚才的那对串口了。
当然我们如果想要删除刚才有连接的所有串口,则直接点击下面的“Delete All”按钮即可,弹出对话框选择“是”即可。删除完毕之后左边就不会显示任何串口了。
为了演示下面的串口调试助手,不能把所有串口都删除,我们依旧把COM1和COM10连接起来。
2.怎样将本机的网络端口,虚拟成串口
虚拟机中的串口连接可以采用两种方法。
一种是指定虚拟机的串口连接到实际的COM上,例如开发机连接到COM1,目标机连接到COM2,然后把两个串口通过串口线相连接。另一种更为简便的方法是:在较高一些版本的VMware中都支持把串口映射到命名管道,把两个虚拟机的串口映射到同一个命名管道。
例如,在两个虚拟机中都选定同一个命名管道 \\.\pipe\com_1,指定target机的COM口为server端,并选择"The other end is a virtual machine"属性;指定development机的COM口端为client端,同样指定COM口的"The other end is a virtual machine"属性。对于IO mode属性,在target上选中"Yield CPU on poll"复选择框,development机不选。
3.请教虚拟串口程序实现
1、这些是底层的宏定义、结构体规定的格式,要下功夫才能搞清楚。
我们只管用。搜下CDC例程里面,初始化过程中 usbd_cdc_Init 函数的使用方法,看人家是怎么替换这些参数的,照搬就是了。
2、APP_DataRx 是给用户提供的数据接口,避免用户和底层打交道。比如发送数据,用户只管把待发的有效数据放进这个接口,同时修改指针,底层会定期查看指针,发现有变化,就会自行启动发送过程。
3、USB 的时序性很强,主从之间联系很频繁。想想看,你插上或拔下U盘,PC立刻会发觉。
具体到STM32,这些联系需要软件参与。用仿真器单步走,通信被停止了,而连续运行则没问题。
所以,仿真调试比较麻烦,需要技巧,需要经常复位。
转载请注明出处windows之家 » win10如何虚拟串口