關於在DELPHI 裏如何調用USB設備

關於在DELPHI 裏如何調用USB設備,其實很簡單:步驟如下:

以AVR309爲例:

1,創建設備句柄:

DrvHnd:=CreateFile(PChar(Drvfile),GENERIC_WRITE or GENERIC_READ, FILE_SHARE_WRITE or FILE_SHARE_READ,

               nil,OPEN_EXISTING,0,0);

Drvfile:爲USB設備驅動建立的句柄名稱(比如AVR309是:Drvfile:PChar='\\.\AVR309usb_0');

2, 控制設備:

   Result:=DeviceIoControl(DrvHnd,$800+8,@ibuf,5,@obuf,512,cardinal(OutLength),nil);

DeviceIoControl 是向設備發送或接收數據。

$800+8:是IOCTL代碼,有驅動程序中指定。

ibuf:是電腦向設備輸入的緩衝區。

比如ibuf={0x11,0x36,0,0,0}

0x11:爲NoDoRS232Send

0x36,0,0,0 是NoDoRS232Send 可以調用的參數:InputBufferBegin+4到InputBufferBegin+7

如果函數執行成功,則0X36會從串口發送出去。

obuf:是設備輸出到電腦的緩衝區。

3,關閉句柄。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章