1
掛我已經從蘋果的例子中使用的代碼:ReadPipe在Mac OS X 10.11
// Send data through out pipe
ret = (*usbInterface)->WritePipe(usbInterface, bulkOutRef, (void *)kTestMessage, 4);
if (ret != kIOReturnSuccess)
{
NSLog(@"Write failed (error: %x)\n", ret);
}
// Read data through in pipe
numBytes = 64;
inp = malloc(numBytes);
ret = (*usbInterface)->ReadPipe(usbInterface, bulkInRef, inp, &numBytes);
管道引用與GetPipeProperties
檢查(與USB探針測試臺一倍選中)。 我也嘗試了異步版本,結果相同:寫入工作(似乎),讀取掛起。 我也試過一些調試usbtrace
:發射一次後退出,現在總是返回The trace facility is currently in use
。 USB器件是Microchip USB入門工具包II。 有什麼想法? 謝謝,
米歇爾
可能不是問題,但是你的'bulkInRef'是什麼? – Dorad
這是一個Uint 8,對輸入管道的引用。在我的情況下,值爲2. –
也許檢查它是否是一個輸入管道: (* usbInterface) - > GetPipeProperties(usbInterface,1,&directionOut,&number,&transferType,&maxPacketSize,&interval); (* usbInterface) - > GetPipeProperties(usbInterface,2,&direction2,&number,&transferType,&maxPacketSize,&interval); if(directionOut!= direction2){ } – Dorad