USB虚拟串口数据缓存问题

[复制链接]
2127|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 呐咯密密 得到打赏 ¥310.00
  • 2 qbwww 得到打赏 ¥265.00
  • 3 yanzhengxin1 得到打赏 ¥200.00
  • 4 full_stack 得到打赏 ¥100.00
  • 5 laocuo1142 得到打赏 ¥55.00
  • 6 二哲科技 得到打赏 ¥50.00
  • 7 zhangjiantao 得到打赏 ¥50.00
  • 8 改名了 得到打赏 ¥50.00
  • 9 小叶三千 得到打赏 ¥50.00
  • 10 cjseng 得到打赏 ¥50.00
在线客服 快速回复 返回顶部 返回列表