找回密码
 立即注册
查看: 2508|回复: 7

STC32G 使用 USB-CDC 的问题

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-04-07 20:14:43

5

主题

14

回帖

145

积分

注册会员

积分
145
发表于 2023-3-2 17:47:58 | 显示全部楼层 |阅读模式
使用环境:
        芯片:STC32G12K128
        板子:使用 USB 线供电
                 复位脚没有用作I/O口
        主机:windows 10
        工具:stc-isp v6.91K
                  USB线

正常情况:
        板子可以用 stc-isp 的 USB-CDC 串口助手 与 PC 正常通信

异常情况:
        当板子与 PC 在正常通信的情况下,按下板子上的复位按键然后松开
        此时,在 设备管理器 中依然能看到 “端口(COM和LPT) --> STC USB-CDC (COMX)” 正常
        但是,此时 使用 stc-isp 的串口助手 发送数据会出现“卡死”现象 (stc-isp 卡顿)
        此后,拔掉板子的 USB 线,使板子完全放电再接上USB线,使用 stc-isp 发送数据依然“卡死”
        需要在设备管理中,先禁用“STC USB-CDC”设备,然后再启用才能正常通信


        
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-04-07 20:14:43

5

主题

14

回帖

145

积分

注册会员

积分
145
发表于 2023-3-2 17:49:45 | 显示全部楼层
板子上的复位操作,需要上位机也要进行“先禁用再启用”的操作才能恢复。
这是在是emmmmmmmmm,有点麻烦。。
  • 打卡等级:以坛为家I
  • 打卡总天数:279
  • 最近打卡:2025-06-15 16:59:43

49

主题

129

回帖

1203

积分

金牌会员

积分
1203
发表于 2023-3-2 20:25:45 | 显示全部楼层
你禁用再启用就是在PC端重启识别这个USB设备。如果你的USB设备不是直接按复位键,而是正常停止程序,断开USB通信也是这样吗?
  • 打卡等级:常住居民III
  • 打卡总天数:135
  • 最近打卡:2024-12-25 10:15:05

47

主题

1350

回帖

8090

积分

荣誉版主

冲哥视频教程和各种开源资料QQ交流群884047237,可群

积分
8090
QQ
发表于 2023-3-3 09:30:21 | 显示全部楼层
要是三楼的测试没有问题的话,在代码里USB初始化前加上这几句就好了
1.png
  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-04-07 20:14:43

5

主题

14

回帖

145

积分

注册会员

积分
145
发表于 2023-3-3 10:41:59 | 显示全部楼层
如果你的USB设备不是直接按复位键,而是正常停止程序,断开USB通信也是这样吗?

<---- 应该怎么理解“正常停止程序”呢? 是指下位机先停止发送数据,然后再按复位按键吗?

另外,更新一下得到的信息:
如果上位机与下位机在正常通信的情况下,拔掉USB线也会出现“卡死”的现象。

查了下资料(主要是《USB CDC 类入门培训》一文),这个现象似乎是 USB-CDC 的“死症”。。。
与下位机无关。
  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-04-07 20:14:43

5

主题

14

回帖

145

积分

注册会员

积分
145
发表于 2023-3-3 10:52:19 | 显示全部楼层
电子DI*** 发表于 2023-3-3 09:30
要是三楼的测试没有问题的话,在代码里USB初始化前加上这几句就好了

增加了这个代码进行测试,但问题依旧。
这个应该是 上位机 驱动问题。
谢谢!
  • 打卡等级:以坛为家I
  • 打卡总天数:279
  • 最近打卡:2025-06-15 16:59:43

49

主题

129

回帖

1203

积分

金牌会员

积分
1203
发表于 2023-3-3 21:24:37 | 显示全部楼层
在PC机端,想中断调试或程序,先正常结束PC机端程序,再来停止或复位单片机,而不是PC机端通讯程序还在运行,单片机这边先断电或复位。之后USB-CDC可正常通信吗?南京沁恒刚开始推出的CH340/341芯片,常遇到的问题就是闲置时间长了,串口就丢失了,也容易受干扰。需要重新插拔或是WINDOWS下断开再启用设备。后来应该是驱动逐渐解决了问题。
  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-04-07 20:14:43

5

主题

14

回帖

145

积分

注册会员

积分
145
发表于 2023-3-4 15:46:52 | 显示全部楼层
lg*** 发表于 2023-3-3 21:24
在PC机端,想中断调试或程序,先正常结束PC机端程序,再来停止或复位单片机,而不是PC机端通讯程序还在运行 ...

你说得没错。
只是我边的工业环境比较恶劣,有时候会导致单片机与PC的通信终止。。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-17 13:54 , Processed in 0.127374 second(s), 93 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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