找回密码
 立即注册
楼主: z***

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

[复制链接]
  • TA的每日心情
    无聊
    2023-11-26 13:41
  • 签到天数: 1 天

    [LV.1]初来乍到

    14

    主题

    85

    回帖

    609

    积分

    高级会员

    积分
    609
    发表于 2023-3-5 10:23:51 | 显示全部楼层
    发现问题所在了。我写的usb传送程序没问题,但STC-ISP对串口的管理好像很不稳定,无意间接通了。能很稳定的发送信息到电脑上,可下次再用就无法打开串口了,然后调了一下最高波特率,又通了。再下次,怎么搞也不通了。显示"串口打开失败,请检查指定串口是否存在或者已被打开"。重启stc-isp,重插入mcu,重启电脑都不行。特别注意到mcu插入电脑时期望stc-isp能检测到USB-CDC串口,但实际上经常检测不到,有时能检测到,有时通过点击扫描串口后能检测到。插到电脑其余USB口时,检测到的STC-USB-CDC口会发生变化,但仍会显示串口打开失败,然后放那里不管它,玩一会其它东西,再打开串口,竟然通了。看来需要比较长时间的准备。最后的结论是,打开和关闭串口需要足够的耐心去等待,功能是正常的,但如果不等,会以为功能不正常,再去调别的地方,就是瞎耽误功夫了。
  • TA的每日心情
    无聊
    2023-11-26 13:41
  • 签到天数: 1 天

    [LV.1]初来乍到

    14

    主题

    85

    回帖

    609

    积分

    高级会员

    积分
    609
    发表于 2023-3-5 17:37:56 | 显示全部楼层
    终于把这个超简单的发送程序看明白了,本来可以更简单的,把发送和接收分开演示,再来个发送带接收的,就好了。少一步对新人来讲直接进了云里雾里。
  • TA的每日心情
    开心
    2024-3-20 15:11
  • 签到天数: 2 天

    [LV.1]初来乍到

    2

    主题

    9

    回帖

    62

    积分

    注册会员

    积分
    62
    发表于 2023-3-5 22:41:20 | 显示全部楼层
    测试了,很不稳定,一打开串口端口号,就端口号不见了,一下又出现了,有时刚发完一条信息,就端口号丢失了,只能演示一下功能,距离普及还是道路很遥远。

    该用户从未签到

    550

    主题

    9204

    回帖

    1万

    积分

    管理员

    积分
    13916
    发表于 2023-3-5 23:05:33 | 显示全部楼层
    楼上把你原理图的PDF 发上来
    1.png
    先把你电路整稳定了

    或者用 STC:开天斧-STC8H8K64U核心功能实验板测试

    该用户从未签到

    0

    主题

    1

    回帖

    10

    积分

    新手上路

    积分
    10
    发表于 2023-3-8 21:04:48 | 显示全部楼层
    您好! 我下载完程序后,插上USB线,电脑右下角显示无法识别的USB设备,然后设备管理器当中也没有出现com口,怎么回事呀?

    该用户从未签到

    550

    主题

    9204

    回帖

    1万

    积分

    管理员

    积分
    13916
    发表于 2023-3-8 21:36:13 | 显示全部楼层

    该用户从未签到

    2

    主题

    5

    回帖

    52

    积分

    注册会员

    积分
    52
    发表于 2023-3-9 13:40:28 | 显示全部楼层
    CDC模块有源码吗?
  • TA的每日心情
    无聊
    2023-11-26 13:41
  • 签到天数: 1 天

    [LV.1]初来乍到

    14

    主题

    85

    回帖

    609

    积分

    高级会员

    积分
    609
    发表于 2023-3-12 15:04:25 | 显示全部楼层
    感觉离掌握usb-cdc越来越近了。现在的问题是,怎么用stc-isp的发送文件功能,通过usb-cdc向mcu发送数据。我把需要向mcu传送的数据放在一个文件里。然后连接mcu和电脑,打开stc-isp软件,打开串口,通过上面的发送文件键选择要发送的文件名。结果能看到数据在发送,但发送的数量无法控制,我在mcu端的程序里加了接收数量的控制,但电脑方面到时不会停止发送,mcu方接收的情况也不符合预期。从stc-isp发送界面上看到的数据,当需要发送的文件里的数据是140M时,stc-isp发送了500M也不想停,不知在发送些什么。考虑到我的数据文件的格式可能不对,或者需要什么停止标志。希望能看到一个用“发送文件”功能传送数据的例程或方法。当然,如果这里的发送文件是一种建立文件系统之后才能用的方法,那我就先放弃了。
  • TA的每日心情
    奋斗
    9 小时前
  • 签到天数: 123 天

    [LV.7]常住居民III

    26

    主题

    1252

    回帖

    3911

    积分

    论坛元老

    积分
    3911
    发表于 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
  • TA的每日心情
    无聊
    2023-11-26 13:41
  • 签到天数: 1 天

    [LV.1]初来乍到

    14

    主题

    85

    回帖

    609

    积分

    高级会员

    积分
    609
    发表于 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.
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

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

    GMT+8, 2024-4-25 18:23 , Processed in 0.083009 second(s), 66 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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