找回密码
 立即注册
查看: 88|回复: 2

使用isp中的CDC-HID串口助手时闪退

[复制链接]
已绑定手机

82

主题

218

回帖

698

积分

高级会员

积分
698
发表于 2026-8-16 07:31:35 | 显示全部楼层 |阅读模式
在接受数据的时候发送数据程序就会突然卡一下
Video_2026-08-16_072808.gif
回复

使用道具 举报 送花

865

主题

1万

回帖

2万

积分

管理员

积分
25104
发表于 2026-8-16 15:30:26 | 显示全部楼层
截图202608161530236447.jpg
回复

使用道具 举报 送花

865

主题

1万

回帖

2万

积分

管理员

积分
25104
发表于 2026-8-16 15:31:15 | 显示全部楼层

我已经有足够信息来回答这个问题了。结合用户提供的图片(STC8G ISP软件,V6.97版本,型号A2D0691-36I64),我来给出综合性的分析和建议。


您好!感谢您提供截图并反馈 CDC-HID串口助手 "接收数据时发送会卡一下/闪退" 的问题。

从您的截图可以看到,您使用的是 STC8G 系列单片机(A2D0691-36I64),ISP软件版本为 V6.97,通过 COM17 [USB-CDC] 与电脑通信。

结合论坛上多个相关反馈案例,我对这个问题的分析如下:

一、问题定位:大概率是 PC 端 ISP 软件接收线程的问题

据论坛用户反馈(TID:24817),ISP软件在长时间连续接收 USB-CDC 数据时,存在接收线程内存泄露的缺陷,现象与您描述的完全一致——数据量大、连续收发时软件卡死甚至退出:

"问题出在接收线程的代码里面有内存泄露,只有在长时间连续接收的情况下,将问题逐步严重化,最终才能发现问题。" —— 据论坛官方工作人员反馈

那位用户用 V6.96Z 连续接收约 3 亿字节后软件停止工作。您是 V6.97,若频繁、大量收发,同样可能触发。

二、建议您先做以下排查

1. 升级到最新版 AiCube-ISP 软件
很多闪退问题(如"发送HEX闪退")都在后续版本修复过(TID:22535 在 V6.96R 解决)。请到官网下载最新版替换。

2. 交叉验证是"PC端软件"还是"单片机程序"问题

  • 用您的 STC8G 板卡,仅做纯接收(不点发送),长时间监听,看是否最终卡死 → 若是,基本可确认是 PC 端接收线程内存问题。
  • 再单独做纯发送(勾选自动发送),观察软件是否正常 → 若正常,说明问题集中在"接收+发送并发"场景。

3. 尝试更换 USB 口 / USB 线 / 电脑
论坛有用户反馈是 USB 链路或 ESP 模块干扰导致(TID:22535 回复5)。排除硬件链路干扰也有必要。

三、如果是单片机端程序并发收发导致的卡顿

您的截图接收缓冲区持续收到 <+Timer0>,说明单片机在持续向 PC 发送数据。若您在接收中断里同时调用发送函数,很容易因重入或标志位未正确清零导致"卡一下"。

正确的收发处理建议(STC8G 同样适用):

  • 接收用中断,把数据存入缓冲区,不在中断里直接发送
  • **发送采用"忙标志 + 主循环轮询"**方式,避免死等卡死。

参考范例(STC8G,串口1):

bit busy = 0;          // 发送忙标志
unsigned char temp;    // 临时接收缓冲

void UART1_Isr(void) interrupt 4
{
    if (TI)            // 发送完成
    {
        TI = 0;
        busy = 0;      // 允许发送下一字节
    }
    if (RI)            // 接收完成
    {
        RI = 0;
        temp = SBUF;   // 读取数据(建议存入环形缓冲区)
    }
}

void UartSend(unsigned char dat)
{
    while (busy);      // 等上一字节发完
    busy = 1;
    SBUF = dat;
}

注意:如果您之前用的是 while(!TI); 这种查询式发送,且同时开启了串口中断,TI 会被中断服务清零导致死循环卡死——这也是论坛中常见的"发一次就卡死"的原因(TID:19882)。

四、关于软件界面本身

从截图看,您的软件操作日志显示"下载成功",烧录功能本身正常。CDC-HID 串口助手属于软件附带的调试工具,其稳定性受软件版本影响较大,强烈建议优先升级到最新版再复测。


总结:您遇到的"接收时发送会卡一下"现象,优先怀疑是 PC 端 ISP 软件在接收+发送并发时的已知内存问题,请先升级最新版;若升级后仍复现,请提供您的单片机具体程序收发逻辑(是否在中断里发送)、ISP软件完整版本号、以及大概的收发数据量,我再帮您进一步定位是软件问题还是程序问题。


🔍 搜索 "https://www.stcaimcu.com/thread-25294-1-1.html"

⏱️ 查找用时 3.6s | 总回答用时 13.9s

回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-9-22 12:17 , Processed in 0.067765 second(s), 56 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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