shaw 发表于 2024-8-19 20:07:24

USB-CDC子程序调用问题

       if (bUsbOutReady)
      {
            USB_SendData(UsbOutBuffer,OutNumber);   

            usb_OUT_done();
      }

这些程序都来自哪里?如何调用?有什么注意事项?


晓飛飛 发表于 2024-8-19 20:16:08

参考一下官方的USB库和例程
https://www.stcaimcu.com/forum.php?mod=attachment&aid=MjU3MTd8NDdiMTQxMzd8MTcxNzE0MTkxMHwxfDE1MjU=

shaw 发表于 2024-8-19 20:20:00

我看了,没有子程序,更没有任何说明

shaw 发表于 2024-8-19 20:50:27

例如:一次可以接收数据的长度?一次可以发送数据的长度?数据组发送的时间间隔?。。。很多实际问题

乘风飞扬 发表于 2024-8-20 09:20:02

shaw 发表于 2024-8-19 20:50
例如:一次可以接收数据的长度?一次可以发送数据的长度?数据组发送的时间间隔?。。。很多实际问题 ...

使用lib库的话,这些函数/变量是封装在lib文件里面的,通过usb.h头文件可以看到它们的申明。
USB端点的缓冲区上限是64字节,所以收发一包数据的上限是64字节。
如果使用 USB_SendData 函数进行发送,当发送数据长度超过64字节的话,函数会自动进行分包发送。

yefeng 发表于 2024-9-30 22:15:13

乘风飞扬 发表于 2024-8-20 09:20
使用lib库的话,这些函数/变量是封装在lib文件里面的,通过usb.h头文件可以看到它们的申明。
USB端点的缓 ...
8H8K64U上面有试过发送4K字节数据吗?
我用的 USB-CDC 库文件,
我这边串口助手总是收不够4K数据

乘风飞扬 发表于 2024-9-30 23:51:23

yefeng 发表于 2024-9-30 22:15
stc8h8k64U上面有试过发送4K字节数据吗?我用的usb cdc库文件,我这边串口助手总是收不够4K数据 ...AI8051U实验箱例程包里面 DMA P2P 显示动态效果图片,
例子的图片数据就是
通过 USB-CDC串口 跟 QSPI-Flash 进行读写通信的。
例子里提供的动态图片加起来1952K,
可以通过 USB-CDC 一次性写入Flash,也可以从Flash读取到电脑:





你的串口助手总是收不够4K数据的话,
先查一下是不是串口助手设置问题。
串口助手-更大设置里面可以设置接收缓冲区大小:




yefeng 发表于 2024-10-3 09:53:06

乘风飞扬 发表于 2024-9-30 23:51
AI8051U实验箱例程包里面 DMA P2P 显示动态效果图片,
例子的图片数据就是
通过 USB-CDC串口 跟 QSPI-Flash ...

我觉得是发送buffer大小问题,发64就不行,发32就没问题,可能是环形buffer导致数据丢失

乘风飞扬 发表于 2024-10-3 15:51:21

yefeng 发表于 2024-10-3 09:53
我觉得是发送buffer大小问题,发64就不行,发32就没问题,可能是环形buffer导致数据丢失 ...

参考一下这个帖子:
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=10984&page=1&mobile=2#pid109805
页: [1]
查看完整版本: USB-CDC子程序调用问题