找回密码
 立即注册
查看: 129|回复: 19

虚拟串口复位后会卡死

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2026-07-08 08:52:01
已绑定手机

5

主题

18

回帖

65

积分

注册会员

积分
65
发表于 2026-7-7 11:48:38 | 显示全部楼层 |阅读模式
问题复现:


上电后打开虚拟串口,收发正常。
不断电 按下复位键,继续使用虚拟串口,其通信功能失效,发送数据非常卡顿。

目前解决方法:
重新上电复位,收发正常。

目标:
连续 不断电 按下复位键,继续使用虚拟串口 且通信正常。

求助其他方式解决


截图202607071146386572.jpg
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:586
  • 最近打卡:2026-07-21 11:51:16

51

主题

170

回帖

1487

积分

金牌会员

积分
1487
发表于 2026-7-7 12:25:17 | 显示全部楼层
单独使用一块STC的做CDC串口芯片,使用中电源一直保持。主应用系统就当使用其作为一个固定串口。如果整个系统包括CDC串口,使用中较频繁的复位重启(相当频繁拔出和插入),很容易出问题!
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2026-07-08 08:52:01
已绑定手机

5

主题

18

回帖

65

积分

注册会员

积分
65
发表于 2026-7-7 13:31:30 | 显示全部楼层
lg*** 发表于 2026-7-7 12:25
单独使用一块STC的做CDC串口芯片,使用中电源一直保持。主应用系统就当使用其作为一个固定串口。如果整个系 ...

官方这虚拟串口通信本来就有这问题啊?竟然需要用两块芯片
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:467
  • 最近打卡:2026-07-21 09:31:46

851

主题

1万

回帖

2万

积分

管理员

积分
24394
发表于 2026-7-7 13:53:12 | 显示全部楼层
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:724
  • 最近打卡:2026-07-21 09:03:11
已绑定手机

51

主题

2710

回帖

9433

积分

论坛元老

积分
9433
发表于 2026-7-7 13:59:28 | 显示全部楼层
USB初始化前添加以下代码试试:
  1.     RSTFLAG |= 0x04;   //设置硬件复位后需要检测P3.2的状态选择运行区域
  2.     USBCON = 0x00;      //清除USB设置
  3.     USBCLK = 0x00;
  4.     IRC48MCR = 0x00;
复制代码
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:604
  • 最近打卡:2026-07-22 08:56:28
已绑定手机

115

主题

4992

回帖

1万

积分

超级版主

无情的代码机器

积分
10893
发表于 2026-7-7 14:19:09 | 显示全部楼层
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:316
  • 最近打卡:2026-07-22 06:56:11
已绑定手机

70

主题

874

回帖

3225

积分

论坛元老

DIY玩家

积分
3225
发表于 2026-7-7 16:49:40 | 显示全部楼层
erci*** 发表于 2026-7-7 14:19
https://www.stcaimcu.com/forum.php?mod=redirect&goto=findpost&ptid=16680&pid=164369
参考这个:

低压复位可以用这个方法么

点评

一样的,只要用到USB或PLL,软复位前都建议先释放相关资源切低速时钟再复位。  详情 回复 发表于 2026-7-7 18:04
永怀这学徒心
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:604
  • 最近打卡:2026-07-22 08:56:28
已绑定手机

115

主题

4992

回帖

1万

积分

超级版主

无情的代码机器

积分
10893
发表于 2026-7-7 18:04:53 | 显示全部楼层
狂热*** 发表于 2026-7-7 16:49
低压复位可以用这个方法么

一样的,只要用到USB或PLL,软复位前都建议先释放相关资源切低速时钟再复位。
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:586
  • 最近打卡:2026-07-21 11:51:16

51

主题

170

回帖

1487

积分

金牌会员

积分
1487
发表于 2026-7-7 20:56:20 | 显示全部楼层
用一片(8Pin)作为CDC串口,保存长期通电。至少这是解决当前问题的办法。坚持原来的方案问题又解决不了,那只好不用STC的芯片了!
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2026-07-08 08:52:01
已绑定手机

5

主题

18

回帖

65

积分

注册会员

积分
65
发表于 2026-7-8 08:52:01 | 显示全部楼层
erci*** 发表于 2026-7-7 14:19
https://www.stcaimcu.com/forum.php?mod=redirect&goto=findpost&ptid=16680&pid=164369
参考这个:

嗯——,即使前置了
RSTFLAG |= 0x04;   //设置硬件复位后需要检测P3.2的状态选择运行区域
USBCON = 0x00;      //清除USB设置
USBCLK = 0x00;
IRC48MCR = 0x00;
以上代码,问题依然存在,usb只是在上电后被识别,此后带电 按键复位,串口依然存在,但看起来并没有被重新识别。
感觉还是复位不彻底,,,,,

点评

和我发的不一样? [attachimg]143370[/attachimg] 用核心板能复现吗?打包发下你的工程我试试?  详情 回复 发表于 2026-7-8 09:00
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-7-22 09:09 , Processed in 0.087244 second(s), 99 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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