USB数据的读写

rooky123 rooky123 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
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,参数应该怎么传才对呢?
...全文

相关推荐

评论 9
收藏 已收藏
分享
返回顶部
rooky123
Linux_Kernel 4,469 成员 17,458 内容