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

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

[复制链接]
  • TA的每日心情
    奋斗
    3 小时前
  • 签到天数: 127 天

    [LV.7]常住居民III

    26

    主题

    1280

    回帖

    3983

    积分

    论坛元老

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

    [LV.1]初来乍到

    14

    主题

    85

    回帖

    609

    积分

    高级会员

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

    该用户从未签到

    10

    主题

    39

    回帖

    378

    积分

    中级会员

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

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

    该用户从未签到

    10

    主题

    39

    回帖

    378

    积分

    中级会员

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

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

    该用户从未签到

    10

    主题

    39

    回帖

    378

    积分

    中级会员

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

    STC32G又不是只有一个在P3.0,P3.1上的串口,即便你用USB,你也可以把串口移到别的IO上使用
  • TA的每日心情
    无聊
    2023-11-26 13:41
  • 签到天数: 1 天

    [LV.1]初来乍到

    14

    主题

    85

    回帖

    609

    积分

    高级会员

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

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

    该用户从未签到

    10

    主题

    39

    回帖

    378

    积分

    中级会员

    积分
    378
     楼主| 发表于 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转串口的模块一样
  • TA的每日心情
    无聊
    2023-11-26 13:41
  • 签到天数: 1 天

    [LV.1]初来乍到

    14

    主题

    85

    回帖

    609

    积分

    高级会员

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

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

    该用户从未签到

    550

    主题

    9234

    回帖

    1万

    积分

    管理员

    积分
    13944
    发表于 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, 2024-4-29 12:34 , Processed in 0.088651 second(s), 66 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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