我将keil USBHID示例更改为http://www.keil.com/forum/21413/lpc1769-usbhid-example/我可以大约每 1 毫秒发送 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 全速上达到 1MB/秒连接-YMMV。对于较新的 Windows 版本,可以尝试使用 WCID加载 WinUSB 驱动程序。这也意味着您必须重写主机应用程序才能使用 WinUSB 接口(interface)。
关于c# - 在LPC1768中更改keil USBHID示例以进行批量传输,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33451114/