ZCool
驱动牛犊
驱动牛犊
  • 注册日期2004-11-06
  • 最后登录2004-11-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1141回复:0

大家来帮下忙.

楼主#
更多 发布于:2004-11-06 20:40
前提:

1.VenderID和ProductID
VenderID :108F (HEX)
ProductID :3000 (HEX)
为了能共同使用这个ProductID,在发送命令时确认对方机器名时必要的。用下面的命令进行机器确认。
命令: "QPID" + CrLf
回答: "3455" + CrLf
2.送来的文件(USB驱动)
USB 驱动
HiUsbSgl.sys
HiUsbSgl.inf

USB 驱动用 DLL文件
HiUsbSgl.dll
3.关于USB 驱动用DLL文件
(1) long CheckUSBDevices(LPVOID lpDevSerialNo);
处理内容:
Devicecheck
参数:
lpDevSerialNo    串口序号变数指针
※ 用char serial[10]、
CheckUSBDevices(serial);
返回值:
0:没有与之相连的Device    //怎么判断呢?
1:有一个与之相连的Device  //怎么判断呢?
2 以上:有多个与之相连。→ error //怎么判断呢?
(2) HANDLE OpenUSBBulkFile(long pipeNo);
处理内容:
DeviceOpen
参数:
pipeNo    0:发送pipeOpen、1:接收pipeOpen  //怎么判断呢?
返回值:
HANDLE。(返回值是INVALID_HANDLE_VALUE没有Device)

-------------------------------------------------------

  请看我的代码:  (这是我与驱动联系上了,没加设备),但是依然没有什么效果.
  
      long (CALLBACK*CheckUSB)(LPVOID);
  HANDLE (CALLBACK*OpenUSBFile)(long);
  char serial[10];
  long pipeNum;

  HINSTANCE OpenDll = LoadLibrary("HiUsbSgl.dll");

    if( OpenDll != NULL ) {

         CheckUSB    =  (long(CALLBACK*)(LPVOID))GetProcAddress(OpenDll,"CheckUSBDevices");
         OpenUSBFile =  (HANDLE(CALLBACK*)(long))GetProcAddress(OpenDll,"OpenUSBBulkFile");

         CheckUSB(serial);


         }


         //判断连接和是否有设备存在
         if( OpenUSBFile == INVALID_HANDLE_VALUE )
         {
             //(为什么没有设备连上,无显示结果??)
             Application->MessageBox(NULL,"error",error",0);
              
         }

          else
          {

             OpenUSBFile(pipeNum);

          }


  请大家帮帮忙 看看怎么回事 ?..谢谢.


   另外 他说发送名 函数是用 ReadFile(), 可是命令 用怎么类型呢? TCHAR ? 还是。。。请大家指教, 谢谢了.第一次开发USB这些 确实头疼.


what d u want ?
游客

返回顶部