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

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

[复制链接]

1

主题

10

回帖

51

积分

注册会员

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

点评

在CDC项目中没有UsbFeatureBuffer,也不需要声明 UsbInBuffer:设备(CDC串口)向主机(电脑)发送数据的缓冲区 UsbOutBuffer:主机(电脑)向设备(CDC串口)发送数据的缓冲区 OutNumber:UsbOutBuffer中有效数据的  详情 回复 发表于 2023-2-26 19:26
  • 打卡等级:偶尔看看III
  • 打卡总天数:38
  • 最近打卡:2025-04-30 14:38:57

25

主题

977

回帖

3599

积分

超级版主

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

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

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

使用道具 举报 送花

1

主题

10

回帖

51

积分

注册会员

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

点评

SendData函数会对超过64字节的数据进行分包发送  详情 回复 发表于 2023-2-27 15:54
  • 打卡等级:偶尔看看I
  • 打卡总天数:14
  • 最近打卡:2025-04-28 14:10:14

19

主题

385

回帖

2508

积分

版主

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

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

1

主题

10

回帖

51

积分

注册会员

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

点评

MSCOMM控件会将波特率限制住,使用Windows的标准API开发,波特率可以任意指定  详情 回复 发表于 2023-2-28 09:57
  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15613
发表于 2023-2-28 09:41:31 | 显示全部楼层
是配合STC自己的 USB-MCU 才能做到的,电脑的标准串口做不到
  • 打卡等级:偶尔看看III
  • 打卡总天数:38
  • 最近打卡:2025-04-30 14:38:57

25

主题

977

回帖

3599

积分

超级版主

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

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

1

主题

10

回帖

51

积分

注册会员

积分
51
发表于 2023-2-28 14:42:57 | 显示全部楼层
我网上找了好几个VB利用API串口的例子,都不能用。
目前就卡在这里了。自己的上位机串口最大波特率就是115200,如果用不了USB-CDC,就太可惜了。
官方能否弄一个VB串口高波特率的代码呢?
  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

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

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

1

主题

10

回帖

51

积分

注册会员

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

本版积分规则

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

GMT+8, 2025-5-2 01:44 , Processed in 0.142600 second(s), 112 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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