Chinaunix首页 | 论坛 | 博客
  • 博客访问: 100846
  • 博文数量: 52
  • 博客积分: 2095
  • 博客等级: 大尉
  • 技术积分: 500
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-08 13:29
文章分类

全部博文(52)

文章存档

2010年(1)

2009年(24)

2008年(27)

我的朋友

分类:

2008-04-13 00:07:52

关于在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,关闭句柄。
阅读(3286) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2008-09-10 21:44:11

我能知道你的qq或者邮箱吗?我是在校大学生。