Привет. Я отправляю данные по USB вот так. Раньше тут намного больше кода было, я лишнее убрал и все работает. А с приемом данных не могу понять.
| Код | Byte[] dataBuffer = new Byte[1]; dataBuffer[0] = 1; bytesToSend = Convert.ToUInt32(dataBuffer.GetLength(0)); success = myWinUsbDevice.SendViaInterruptTransfer(ref dataBuffer, bytesToSend);
|
Подскажите плиз вот мне нужно принять данные в массив. Как этот код работает. ?
| Код | private void ReadDataViaInterruptTransfer() { IAsyncResult ar = null; Byte[] buffer = new Byte[ 2 ]; UInt32 bytesRead = 0; UInt32 bytesToRead = System.Convert.ToUInt32( 2 ); Boolean success = false; try { // Define a delegate for the ReadViaInterruptTransfer method of WinUsbDevice. ReadFromDeviceDelegate MyReadFromDeviceDelegate = new ReadFromDeviceDelegate( myWinUsbDevice.ReadViaInterruptTransfer ); // The BeginInvoke method calls MyWinUsbDevice.ReadViaInterruptTransfer to attempt // to read data. The method has the same parameters as ReadViaInterruptTransfer, // plus two additional parameters: // GetReceivedInterruptData is the callback routine that executes when // ReadViaInterruptTransfer returns. // MyReadFromDeviceDelegate is the asynchronous delegate object. ar = MyReadFromDeviceDelegate.BeginInvoke (System.Convert.ToByte( myWinUsbDevice.myDevInfo.interruptInPipe ), bytesToRead, ref buffer, ref bytesRead, ref success, new AsyncCallback( GetReceivedInterruptData ), MyReadFromDeviceDelegate ); } catch ( Exception ex ) { throw ; } }
|
|