自己写的CY68013 DELPHI上位机函数
泡这个论坛好几年了,学了不少知识,最近做一个68013的USB东西,苦于不会C++ 只会delphi,无法写上位机,无法使用cyapi,嗖边网络业没有找到代码。就硬着头皮根据cyusb 帮助慢慢把它专为delphi 函数了,本来想再把他进行类封装下让他更接近 cyapi,未遂。为回报论坛 把这些代码进行共享。我是业余爱好者代码书写 水平一般,不过测试时通过的,使用68013 块传输单线程采集速度也能到30多M;isoc out 速度上不去,不过感觉好像是68的原因。没试验isoc in,估计能快点。有高手可以再进行完善点呵呵。
主要实现函数:
function ContrlTransfer(hDevice:thandle; // cy usb drive handle
ulTimeOut:ULONG; // time out
var bmRequest:byte;//
var bRequest :byte;
var wValue :word;
var wIndex :word;
buf :pointer; // input out put buf
bufsize:dword
):boolean; // 控制传输实现函数。
function GetCyUSBPath(deviceNumber:integer):string;//得到信息输入设备号,但设备输入0
function CYUSBAbortPiPe(hDevice:thandle;EndPoint:byte):boolean;// abort pipe
function CYUSBResetPiPe(hDevice:thandle;EndPoint:byte):boolean;// abort pipe
function GetUSBDeviceDescriptor(hDevice:thandle):TUSBDeviceDescriptor;// 取设备描述符
function GetUSBConfigDescriptor(hDevice:thandle):TUSBConfigDescriptor;// USB配置描述符的结构
function CYUSBulkTransfer(hDevice:thandle;EndPoint:byte;buf:pointer;bufsize:dword;ov:POverlapped):boolean; //块传输函数
function CYUSBSetTransferSize(hdevice:thandle;EndPoint:byte;TransferSize:ulong):boolean; // 设置传输块大小(不是pkt大小 pkt 大小由你的硬件决定)
function CYUSISOCTransfer(hDevice:thandle;
EndPoint:byte;
MaxPktSize:word;
buf:pointer;
bufsize:dword;
ov:POverlapped):pointer; // 返回包状态结构指针,异步传输完毕后可以释放。
另外内有历程程序 。
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_602231UXOLND.jpg
demo 界面 (原文件名:demo.jpg)
自己写的delphi 封装cyapiourdev_602230CX6COU.rar(文件大小:254K) (原文件名:CY_Delphi.rar) 也用delphi搞USB的顶 哇,这代码写的,厉害呀,看都看不懂,不过好使呀 不错,不会DELPHI 我也只是用串口,很不错了,谢谢。
页:
[1]