神清气爽 发表于 2023-11-23 20:29:45

CDC发送数据问题


通过cdc函数:USB_SendData(UsbOutBuffer,OutNumber)向外发送数据,
如果是连续发送数据会不会有溢出的情况(就是USB来不及向外发送)。
例:
uchar DATA;
for(i=0;i<3000;i++)
{
    USB_SendData(DATA,1);
}

神清气爽 发表于 2023-11-23 20:34:59

用 USB_SendData(UsbOutBuffer,OutNumber) 连续发送一批数据是不是要判断发送完成标志,如果是,是什么标志。谢谢

神农鼎 发表于 2023-11-23 22:03:11


先看下视频教程


视频教学,大学标准课程:【USB 原理及实战,16课时】已完美完成 ,有视频回放 - USB:USB-CDC虚拟串口/就是串口,一箭双雕之USB转双串口,[鼠标+键盘]的HID复合设备 - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)

gentleman 发表于 2023-11-23 22:03:55

神清气爽 发表于 2023-11-23 20:34
用 USB_SendData(UsbOutBuffer,OutNumber) 连续发送一批数据是不是要判断发送完成标志,如果是,是什么标志 ...

bUsbOutReady

神清气爽 发表于 2023-11-26 16:30:29

在用
for(i=0;i<3000;i++)
{
    while(bUsbOutReady);
    USB_SendData(DATA,1);
}
发送数据时,其中将bUsbOutReady用bUsbInBusy,bUsbOutReady替换都可以。我想这3个标志位可能在
这里都没有起到作用。以上while可能没有起到作用。但作为通信,为了数据不掉失,应该有发送结束标志(类似串口通信的TI标志)。
请教在CDC通信时bUsbOutReady,bUsbInBusy,bUsbOutReady应该怎么使用,解释一下这3个标志怎么使用。谢谢

神清气爽 发表于 2023-11-26 16:40:12

能解释一下 usb_OUT_done();    //接收应答(固定格式)的意义吗

有你才恋家 发表于 2023-11-26 17:43:30

学习了,谢谢分享{:4_166:}

乘风飞扬 发表于 2023-11-27 10:29:37

神清气爽 发表于 2023-11-26 16:40
能解释一下 usb_OUT_done();    //接收应答(固定格式)的意义吗

设备从USB主机接收一串数据后,需要进行应答告诉主机我已经收到了,主机才会继续发送后续的数据。

神清气爽 发表于 2023-11-27 16:48:03

这是查询方式接收数据,对吗?谢谢!

gentleman 发表于 2023-11-27 17:42:01

神清气爽 发表于 2023-11-27 16:48
这是查询方式接收数据,对吗?谢谢!

查询

中断要写 回调函数 的
页: [1] 2
查看完整版本: CDC发送数据问题