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

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

[复制链接]

该用户从未签到

1

主题

10

回帖

49

积分

新手上路

积分
49
发表于 2023-2-26 16:01:06 | 显示全部楼层
头文件中定义的三个数组UsbFeatureBuffer[64];UsbInBuffer[64];UsbOutBuffer[64];能说下是意思吗?演示程序只用到UsbOutBuffer,如果是大于64个字节,只能分成多次发送或接收了。OutNumber这个值是自动根据接收的字节数改变的吗?就是自动变为接收或发送的字节数?主程序中没有对这个变量进行赋值

点评

zhp
在CDC项目中没有UsbFeatureBuffer,也不需要声明 UsbInBuffer:设备(CDC串口)向主机(电脑)发送数据的缓冲区 UsbOutBuffer:主机(电脑)向设备(CDC串口)发送数据的缓冲区 OutNumber:UsbOutBuffer中有效数据的  详情 回复 发表于 2023-2-26 19:26
  • TA的每日心情
    开心
    2024-1-4 08:56
  • 签到天数: 14 天

    [LV.3]偶尔看看II

    16

    主题

    711

    回帖

    2510

    积分

    超级版主

    积分
    2510
     楼主| 发表于 2023-2-26 19:26:04 | 显示全部楼层
    tsxdz 发表于 2023-2-26 16:01
    头文件中定义的三个数组UsbFeatureBuffer[64];UsbInBuffer[64];UsbOutBuffer[64];能说下是意思吗?演示程序 ...

    在CDC项目中没有UsbFeatureBuffer,也不需要声明
    UsbInBuffer:设备(CDC串口)向主机(电脑)发送数据的缓冲区
    UsbOutBuffer:主机(电脑)向设备(CDC串口)发送数据的缓冲区
    OutNumber:UsbOutBuffer中有效数据的字节数

    注意:USB协议里面的的IN和OUT,均是相对主机(PC)而言的,不用将方向理解反了

    该用户从未签到

    1

    主题

    10

    回帖

    49

    积分

    新手上路

    积分
    49
    发表于 2023-2-27 14:18:14 | 显示全部楼层
    非常感谢你的解答。由于没有开源,所以只能问一下了。SendData()函数可以一次发送超过64字节的数据吗?比如我定义了一个数组 LEDBUF[1024], 可以这样调用SendData(LEDBUF,1024)吗?还是最多只能64字节,分成多次发送?

    点评

    SendData函数会对超过64字节的数据进行分包发送  详情 回复 发表于 2023-2-27 15:54

    该用户从未签到

    9

    主题

    290

    回帖

    1680

    积分

    版主

    积分
    1680
    QQ
    发表于 2023-2-27 15:54:16 | 显示全部楼层
    tsxdz 发表于 2023-2-27 14:18
    非常感谢你的解答。由于没有开源,所以只能问一下了。SendData()函数可以一次发送超过64字节的数据吗?比如 ...

    SendData函数会对超过64字节的数据进行分包发送
    QQ:1463035472,微信:19952583954

    该用户从未签到

    1

    主题

    10

    回帖

    49

    积分

    新手上路

    积分
    49
    发表于 2023-2-28 09:32:51 | 显示全部楼层
    我上位机用的VB6.0,用自带的MSCOM最高波特率为115200,真是醉了。请问一下怎么解决?STCISP软件的串口助手是怎么能弄到10000000的波特率的?

    点评

    zhp
    MSCOMM控件会将波特率限制住,使用Windows的标准API开发,波特率可以任意指定  详情 回复 发表于 2023-2-28 09:57

    该用户从未签到

    547

    主题

    9120

    回帖

    1万

    积分

    管理员

    积分
    14127
    发表于 2023-2-28 09:41:31 | 显示全部楼层
    是配合STC自己的 USB-MCU 才能做到的,电脑的标准串口做不到
  • TA的每日心情
    开心
    2024-1-4 08:56
  • 签到天数: 14 天

    [LV.3]偶尔看看II

    16

    主题

    711

    回帖

    2510

    积分

    超级版主

    积分
    2510
     楼主| 发表于 2023-2-28 09:57:29 | 显示全部楼层
    tsxdz 发表于 2023-2-28 09:32
    我上位机用的VB6.0,用自带的MSCOM最高波特率为115200,真是醉了。请问一下怎么解决?STCISP软件的串口助手 ...

    MSCOMM控件会将波特率限制住,使用Windows的标准API开发,波特率可以任意指定

    该用户从未签到

    1

    主题

    10

    回帖

    49

    积分

    新手上路

    积分
    49
    发表于 2023-2-28 14:42:57 | 显示全部楼层
    我网上找了好几个VB利用API串口的例子,都不能用。
    目前就卡在这里了。自己的上位机串口最大波特率就是115200,如果用不了USB-CDC,就太可惜了。
    官方能否弄一个VB串口高波特率的代码呢?

    该用户从未签到

    547

    主题

    9120

    回帖

    1万

    积分

    管理员

    积分
    14127
    发表于 2023-2-28 19:05:57 | 显示全部楼层
    1.png

    这个可以独立显示的,用STC的串口助手

    该用户从未签到

    1

    主题

    10

    回帖

    49

    积分

    新手上路

    积分
    49
    发表于 2023-3-1 19:55:55 | 显示全部楼层
    目前差不多弄成功了。使用API函数。我的上位机必须自己写的。有打开一个文件,然后转换数据,转换好后发送出去。容量约16M。
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

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

    GMT+8, 2024-4-20 04:43 , Processed in 0.069061 second(s), 68 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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