EasyD12库文件提供了4个函数给用户程序调用。下面是这些子程序的定义和功能说明:  F. Y5 x5 G/ Y
(1) DWORD __stdcall ReadPort1 (BYTE* pData, size_t iLen);6 @7 K, u/ _( `+ M ^
简介:读USB端点1。
来源:EasyD12.dll
说明:pData为指向接收数据缓冲区的指针,iLen为接收数据长度。D12端点1缓冲区为16字节,iLen不大于16。如使用示例驱动,iLen不大于4。该函数主要用于读取用户的响应。! \, H/ M返回:  <0   错误
=0   正确
举例:   unsigned char databuff[4];
DWORD st= ReadPort1 (databuff,4);
从USB端点1读出4个字节数据放入databuff中4 }$ ~' S) m7 y7 F" A0 X8 |0 q. D9 k- z1 t) d$ w$ r# J8 J
(2) DWORD __stdcall WritePort1 (BYTE* pData, size_t iLen);: e4 |. h  T! q8 o  S
简介:写USB端点1。0 p3 t# C' I. h* s( Y- y C
来源:EasyD12.dll% n; n5 U. Q/ Q1 N7 d0 n7 D$ B
说明:pData为指向发送数据缓冲区的指针,iLen为发送数据长度。D12端点1缓冲区为16字节,iLen不大于16。如使用示例驱动,iLen不大于4。该函数主要用于传送用户的命令。' j返回:  <0   错误) _2 Y# L3 x# B+ b
=0   正确
举例:   unsigned char databuff[4]={’D’,’A’,’T’,’A’};8 Q# H* p$ M( _# B+ e+ m# v3 G/ E
DWORD st= WritePort1 (databuff,4);
将databaff中前4个字节写入USB端点1
(3) DWORD __stdcall ReadPort2 (BYTE* pData, size_t iLen);
简介:读USB端点2。
来源:EasyD12.dll
说明:pData为指向接收数据缓冲区的指针,iLen为接收数据长度。D12端点2缓冲区为64字节,iLen不大于64。该函数主要用于读取用户发送的数据。
返回:  <0   错误
=0   正确
举例:   unsigned char databuff[64];
DWORD st= ReadPort2 (databuff,64);' i5 v7 _ E% H1 G  T1 }/ R! W
从USB端点2读出64个字节数据放入databuff中: x5 K+ H3 H7 B) z+ T4 N: }
        (4) DWORD __stdcall WritePort2 (BYTE* pData, size_t iLen);
简介:写USB端点2。4 Y4 S' B7 U5 X$ Z1 k, Z
来源:EasyD12.dll7 e5 g, {# j3 E  |8 s/ t9 K4 `
说明:pData为指向发送数据缓冲区的指针,iLen为发送数据长度。D12端点2缓冲区为64字节,iLen不大于64。该函数主要用于传送用户数据。
返回:  <0   错误3 q( T( l5 I7 q3 s9 I" w
=0   正确
举例:   unsigned char databuff[8]={’H’,’e’,’l’,’l’, ’!’,’D’,’1’,’2’};
DWORD st= WritePort2 (databuff,);
将databaff中前8个字节写入USB端点2
如下调用:
  [DllImport("EasyD12.dll", EntryPoint = "WritePort2")]
 public static extern string WritePort2(string pData, int iLen);
成功,但是用同样的方法调用ReadPort1和ReadPort2时得不到正确的返回值。