关于在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,关闭句柄。
|
|