USB数据的读写
function USBdevRead(var usb: TLIBUSB; cmd, para1, para2, len: integer): boolean;
begin
if usb.handle = nil then
begin
Result := False;
Exit;
end;
if usb_control_msg(usb.handle, USB_TYPE_VENDOR or USB_RECIP_DEVICE or
USB_ENDPOINT_IN, cmd, para1, para2, usb.dat, len, USB_TIMEOUT) < 0 then
Result := False
else
Result := True;
end;
function USBdevWrite(var usb: TLIBUSB; cmd, para1, para2, len: integer): boolean;
begin
if usb.handle = nil then
begin
Result := False;
Exit;
end;
if usb_control_msg(usb.handle, USB_TYPE_VENDOR or USB_RECIP_DEVICE or
USB_ENDPOINT_OUT, cmd, para1, para2, usb.dat, len, USB_TIMEOUT) < 0 then
Result := False
else
Result := True;
end;
这个是两个读和写的函数,现在写可以了,但是读我读不到数据,就是对里面的参数不大懂,到底应该怎么传才是对的
比如我写是用USBdevWrite(USBasp, 1, 0, 0, 8);可以到数据发送出去
但是我用USBdevRead(USBasp, 0, 0, 0, 4)读取4个字节的数据就不成功,但是把4改成0就可以读成功了,但是没有数据,是不是读成功后我的数据就发在usb.dat,参数应该怎么传才对呢?