STM32的USB虚拟串口,只要下位机先发数据,上位机打开串口提示:串口被占用

2019-03-23 19:27发布

我使用STM32的USB虚拟串口驱动修改,实现从网卡接收数据,然后通过调用STM32的USB虚拟串口的USB节点写函数,将数据发送到上位机,上位机采用串口调试助手读数据。但是发现有个奇怪的现象:下位机先上电,然后上位机使用串口调试助手打开串口,下位机开始发送数据,上位机能正常接收到数据,然后点击“关闭串口”(这时候下位机正在发送数据),在点击”打开串口“,还是可以正常接受数据,然后再点击”关闭串口“,再点击”打开串口“,这样几次后,当再次点击打开串口提示:当前串口被占用。。(刚开始怀疑是串口调试助手的问题,我用labview写了一个类似串口调试助手的工具也是一样的效果)。
请问哪位知道是怎么回事?

[ 本帖最后由 vikione 于 2012-11-8 15:35 编辑 ] 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
Li_Lei
1楼-- · 2019-03-23 21:34
/ 串口被占用是主机的问题与下位机无关,你看看串口选择对不?
vikione
2楼-- · 2019-03-24 00:15
我串口选择对的,否则第一次怎么就不会接收到数据了。我的问题是:对已经能接收数据的虚拟串口,不断的按串口调试助手上的:打开串口和关闭串口按钮,几次后都会提示:串口被占用。
Li_Lei
3楼-- · 2019-03-24 02:43
 精彩回答 2  元偷偷看……
vikione
4楼-- · 2019-03-24 05:01
我之间USB虚拟串口用的是v3.1的版本,现在用了v3.4版本问题就解决了。

一周热门 更多>