使用USB-CDC库函数,从USB给MCU发几个字节,就收到几个字节
如果你想一个字节一个字节读取,发送时一个字节一个字节发送就可以
-
- if (bUsbOutReady)
- {
- USB_SendData(UsbOutBuffer,OutNumber); //发送数据缓冲区,长度(接收数据原样返回, 用于测试)
-
- usb_OUT_done();
- }
复制代码
if (bUsbOutReady) 判断条件里面就是收到数据,其中 OutNumber 是收到的字节数,UsbOutBuffer是接收数据存放的缓冲区。
如果 OutNumber = 1 只收到一个字节数据,就是UsbOutBuffer第一字节的内容。
使用USB CDC库进行通信已经是很简单的,几十行代码就能实现通信,不停电下载。
视频回放, 2023/7/3期, USB 零基础实战,CAN应用,STC32位8051实战宣讲会
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=2990
这期视频一步步介绍了USB CDC库的使用,包括数据通信,不停电下载演示。
如果你想自己修改配置的话也可以,实验箱例程包,开天斧/屠龙刀例程包,一箭双雕USB转双串口例程包,里面都有一个例子“CDC(Communication Device Class)协议范例”,是完全开源的。
修改配置需要对USB协议比较熟悉,论坛也有相应的教学视频可以观看:
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=4526 |