打印

USB虚拟串口数据缓存问题

[复制链接]
3222|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
honests|  楼主 | 2021-10-11 17:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大佬们,请问一下
USB虚拟串口在PC端软件未打开的时候发送了数据,导致PC机串口软件打开接收数据的时候,会将之前的数据一起接收,这该怎么解决。设备接到ubuntu,使用cat /dev/ttyACM0  能看到发送的数据;
有什么办法能够使USB设备检测PC端软件是否打开的方法吗。
用抓包软件发现串口软件打开,关闭的时候,有USB控制信号,但不知道怎么用。
求助

使用特权

评论回复

相关帖子

沙发
地瓜patch| | 2021-10-11 22:51 | 只看该作者
同问

使用特权

评论回复
板凳
QuakeGod| | 2021-10-12 13:28 | 只看该作者
如果是USB虚拟串口,是可以检测到软件打开串口的。
软件打开串口的时候,会发一系列的配置字,比如 SET_LINE_CODING 等,不是软件发送的,是虚拟串口驱动发送的,
参考这个** https://bbs.21ic.com/icview-1652460-2-1.html 中的源码
里面有一个 VCom_ReConfig 变量,在 main.c 和 usb_prop.c 文件中, 收到 SET_LINE_CODING 配置的时候 这个变量会自增变化,检测到这个变化就知道串口被打开了。
https://bbs.21ic.com/icview-2582462-2-1.html
https://bbs.21ic.com/icview-1652460-1-1.html

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝