找回密码
 立即注册
查看: 226|回复: 4

请问USB-CDC如何知道上位机已关闭/断开与自己的连接呢

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:499
  • 最近打卡:2025-12-18 09:44:13

30

主题

93

回帖

2917

积分

金牌会员

积分
2917
发表于 2025-12-3 09:11:03 | 显示全部楼层 |阅读模式
请问USB-CDC如何知道上位机已关闭/断开与自己的连接呢,是否如打开串口一样会触发SET_LINE_CODING呢,在上位机断开时我能用闪灯或蜂鸣器的方式发出提示

补充:
在论坛里看到这一句:
USB协议不支持
所有的传输必须是主机发起
从机只能改变总线状态用于唤醒休眠的主机
唤醒只是改变总线状态而没有数据传输阶段
是不是设备无法知道上位机已断开,在打开时因上位机要发出SET_LINE_CODING,所以设备能监听到打开动作
如果以上情况属实,是否可通过心跳包来判断上位机已断开了,比如每隔1秒就和设备通讯一次,以确定双方都还存在并处于活跃状态
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:747
  • 最近打卡:2025-12-18 07:58:13
已绑定手机

55

主题

1952

回帖

3883

积分

论坛元老

积分
3883
发表于 2025-12-3 09:24:36 | 显示全部楼层
上位机也可以定时触发某些信号吧
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:391
  • 最近打卡:2025-12-18 00:21:57
已绑定手机

97

主题

3865

回帖

8338

积分

荣誉版主

无情的代码机器

积分
8338
发表于 2025-12-3 09:41:35 | 显示全部楼层
在中断函数里加日志调试,看下走了哪些分支。可能会触发关闭DTR RTS

驱动不同表现可能不同,不如和上位机构建自己的协议稳定。
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:499
  • 最近打卡:2025-12-18 09:44:13

30

主题

93

回帖

2917

积分

金牌会员

积分
2917
发表于 2025-12-3 09:54:08 | 显示全部楼层
我是想在设备里监听断开信号,以做出响应,并停止向电脑发送数据,已经设计了通讯协议用于设备与电脑进行交互
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:499
  • 最近打卡:2025-12-18 09:44:13

30

主题

93

回帖

2917

积分

金牌会员

积分
2917
发表于 2025-12-3 10:08:06 | 显示全部楼层
jw*** 发表于 2025-12-3 09:24
上位机也可以定时触发某些信号吧

你好,你指的是心跳包?我已实现了简单的通讯协议了,可以加个心跳包指令
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-12-18 16:21 , Processed in 0.101987 second(s), 59 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表