找回密码
 立即注册
楼主: zhp

8H8K64U超级简单的USB-CDC虚拟串口应用及不停电下载(中断模式+查询模式)

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:498
  • 最近打卡:2025-08-23 08:57:24
已绑定手机

45

主题

2172

回帖

7590

积分

论坛元老

积分
7590
发表于 2023-3-13 09:07:03 | 显示全部楼层
丽江*** 发表于 2023-3-12 15:04
感觉离掌握usb-cdc越来越近了。现在的问题是,怎么用stc-isp的发送文件功能,通过usb-cdc向mcu发送数据。我 ...

STC32G实验箱例程包里“79-UART-SPI-LCM_DMA_交替使用下载显示图片例程”这个例子就有通过STC-ISP软件发送文件给MCU的功能及使用说明。
在STC-ISP软件里面可以设置每个数据包的大小,以及数据包之间的延时时间,来控制数据发送量跟发送频率。


通过鼠标右键点击“发送文件”按钮->左键点击弹出的“设置”菜单:

1.png
在弹出框里设置每个数据包的大小,以及数据包之间的延时时间:
2.png
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-11-26 13:41:15

14

主题

87

回帖

673

积分

高级会员

积分
673
发表于 2023-3-14 11:03:25 | 显示全部楼层
乘风*** 发表于 2023-3-13 09:07
STC32G实验箱例程包里“79-UART-SPI-LCM_DMA_交替使用下载显示图片例程”这个例子就有通过STC-ISP软件发 ...

谢谢大佬。两个收获,一是解决了控制stc-isp发送频率的问题,之前没找到这个设置,二是知道了应该发送二进制文件。之前做出了二进制文件 ,但没进一步试验,因为这方面的知识太少,现在知道可以直接用了。没解决的问题是,我想学习usb-cdc向mcu传送数据的方法,传送现在没问题了。但有些细节还不会,例程79没有采用usb-cdc.采用的是普通口,这是一个意外的收获,之前我以为stc32g12k128不能使用普通串口了,搞得我很伤心,因为不会usb-cdc,又不能用uart,没串口与上位机通讯了。现在知道能用uart与上位机通讯,太好了。
关于usb-cdc我需要搞明白的是usb缓存是64字节,如果发送一个包是256字节的话,mcu接收端一个接收信号能接收多少字节。
        if(bUsbOutReady)//查询是否有信息过来。
        usb_OUT_done();//准备再次接收
就是说在查询语句收到对方发送完成的信息后,到准备再次接收前,我需要处理多少字节的接收信息,是64还是256.看usb-isp显示的发送情况,应该是256,但usb自己的缓冲区只有64。
目前我的水平能想到的解决办法是把上位机的发送包设成64,这样mcu接收时就按64个字节处理,但感觉有点low.
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-11-26 13:41:15

14

主题

87

回帖

673

积分

高级会员

积分
673
发表于 2023-3-14 16:56:00 | 显示全部楼层
关于发包问题通过实验搞明白了。包与间隔只影响发送速度,接收方只关心每次把缓冲区收到的数据处理了就行了,一个接收信号收到的就是一个缓冲区的内容
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:14
  • 最近打卡:2025-08-01 14:18:25

22

主题

105

回帖

878

积分

高级会员

积分
878
发表于 2023-3-14 18:43:16 | 显示全部楼层
perseverance51 发表于 2023-3-5 22:41
测试了,很不稳定,一打开串口端口号,就端口号不见了,一下又出现了,有时刚发完一条信息,就端口号丢失了 ...

这个很稳定的,甚至比一般的USB转串口稳定,我已经连续通讯 接近 1个月了,我用这个口配合PC的VT100终端模拟软件,做控制器的设置和数据显示界面
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:14
  • 最近打卡:2025-08-01 14:18:25

22

主题

105

回帖

878

积分

高级会员

积分
878
发表于 2023-3-14 18:45:54 | 显示全部楼层
Heng*** 发表于 2023-3-9 13:40
CDC模块有源码吗?

有的,实验箱里的就是源码,不是库的
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:14
  • 最近打卡:2025-08-01 14:18:25

22

主题

105

回帖

878

积分

高级会员

积分
878
发表于 2023-3-14 18:50:02 | 显示全部楼层
丽江*** 发表于 2023-3-14 11:03
谢谢大佬。两个收获,一是解决了控制stc-isp发送频率的问题,之前没找到这个设置,二是知道了应该发送二 ...

STC32G又不是只有一个在P3.0,P3.1上的串口,即便你用USB,你也可以把串口移到别的IO上使用
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-11-26 13:41:15

14

主题

87

回帖

673

积分

高级会员

积分
673
发表于 2023-3-14 19:18:33 | 显示全部楼层
zh*** 发表于 2023-3-14 18:50
STC32G又不是只有一个在P3.0,P3.1上的串口,即便你用USB,你也可以把串口移到别的IO上使用 ...

我需要的是与上位机通讯的渠道。其它的我知道
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:14
  • 最近打卡:2025-08-01 14:18:25

22

主题

105

回帖

878

积分

高级会员

积分
878
发表于 2023-3-17 12:06:01 | 显示全部楼层
本帖最后由 zhx 于 2023-3-17 12:08 编辑
丽江*** 发表于 2023-3-14 19:18
我需要的是与上位机通讯的渠道。其它的我知道

其他IO上出的串口一样可以和上位机通讯,或者你把 串口的引脚转移,程序都不用改
比如:S1_S1 = 0; S1_S0 = 1; 原来接 P3.0 P3.1 的改接 P3.6 P3.7 而已
本身 USB 也可以 和 上位机通讯,也不一定非用串口,HID,CDC都可以
尤其CDC,对上位机来说就是一个插在USB口上的串口,和你用USB转串口的模块一样
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-11-26 13:41:15

14

主题

87

回帖

673

积分

高级会员

积分
673
发表于 2023-3-17 13:58:08 | 显示全部楼层
zh*** 发表于 2023-3-17 12:06
其他IO上出的串口一样可以和上位机通讯,或者你把 串口的引脚转移,程序都不用改
比如:S1_S1 = 0; S1_S0 = 1 ...

收到。谢谢了。我是新人。少说一句自己都不敢去想想。去试试。之前曾为stc32g12k128的P3.0P3.1成为cdc通讯口,无法使用普通口而很失望,因为当时不会用cdc,现在才明白,能用。cdc也不能掌握。会与不会。知与不知有时真是只隔一层纸。
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:161
  • 最近打卡:2025-08-23 08:11:44

775

主题

1万

回帖

1万

积分

管理员

积分
18735
发表于 2023-3-17 14:05:38 | 显示全部楼层
这个USB-CDC/就是最简单的串口,用库我们江苏销售人员全会用
要懂,我们花了3年的时间提升自己才敢讲这句权威的话 !!!
===才能20分钟让我们销售感觉到这 USB-CDC比传统串口简单
===我的感觉这个超级简单的【USB-CDC】/【就是最简单最强大的串口】,就直接用吧,要懂,没个1个月卧薪尝胆下不来
1.png
2.png
3.png
4.png
现在推荐的教科书是 USB-CDC/虚拟串口放在实际的传统串口章节前面讲,用库,更简单了
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-8-24 05:59 , Processed in 0.137635 second(s), 106 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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