我更改了像http://www.keil.com/forum/21413/lpc1769-usbhid-example/这样的keil USBHID示例,大约每1 ms可以发送64个字节
我的变化有些不同
in demo.c and demo.h
U8 InReport[64]
U8 OutReport[64]
demo.c
void GetInReport(void) {
for(amiri=0;amiri<64;amiri++)
{
InReport[amiri]=amiri;
}
}
void SetOutReport(void) {
for(amiri=0;amiri<64;amiri++)
{
OutReport[amiri]=InReport[amiri]
}
}
hiduser.c
...
GetInReport();
for(amiri2=0;amiri2<64;amiri2++)
{
EP0Buf[amiri2]=InReport[amiri2];
}
break;
...
case HID_REPORT_INPUT;
for(amiri2=0;amiri2<64;amiri2)
{
OutReport[amiri2]=EP0Buf[amiri2];
}
usbuser.c
...
if(USB_Configuration) {
GetInReport();
USB_WriteEP(HID_EP_IN, &InReport[64],sizeof(InReport));
}
...
void USB_EndPoint1 (U32 event) {
...
USB_WriteEP(HID_EP_IN, &InReport[64],sizeof(InReport));
...
}
我可以通过libusb在C#中接收64字节(0到63)
批量传输并发送多个端点需要哪些更改??我想达到1Mbyte / s的速度,我知道有可能,但是我不知道需要进行哪些更改...
我可以使用同步传输并每毫秒发送1000个字节并达到此速度吗?为此需要进行哪些更改?
如果有人帮助我,我将非常感激
最佳答案
您可以看一下USB CDC示例,了解如何在µC上使用批量端点。
会有很多更改,尤其是在PC(主机)端:您现在需要自定义驱动程序-我不相信Windows CDC驱动程序在USB全速连接-YMMV上达到1MB / sec。对于较新的Windows版本,可以尝试使用WCID加载WinUSB驱动程序。这也意味着您必须重写主机应用程序才能使用WinUSB接口。
关于c# - 在LPC1768中,更改keil USBHID示例进行批量传输,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33451114/