hu3721
驱动牛犊
驱动牛犊
  • 注册日期2002-04-03
  • 最后登录2005-01-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1558回复:4

如何利用windriver生产的驱动完成usb的应用程序

楼主#
更多 发布于:2002-06-06 10:13
我用windriver生成了usb驱动程序,它包括***_diag.c和***_lib.c两个文件,编译连接后生存exe的可执行文件。可是在我的应用程序中该怎样利用这两个文件呢,我的应用程序是在用vc写的。请高手指点,多谢!

最新喜欢:

luozhangyuluozha...
学习usb!
oe_zhou
驱动牛犊
驱动牛犊
  • 注册日期2002-05-23
  • 最后登录2002-08-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-06-08 14:07
可以做成dll然后调用。具体方法如下(这里支持mfc):
这样,把***_lib.c改成***_lib.cpp,
然后在文件头加#include \"stdafx.h\"
然后在dll的接口函数中仿照windriver生成的程序框架
调用相应的api即可。
若仍有疑问,email to me.  oe_zhou@hotmail.com

[编辑 -  6/8/02 by  oe_zhou]
hu3721
驱动牛犊
驱动牛犊
  • 注册日期2002-04-03
  • 最后登录2005-01-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-06-12 13:32
“然后在dll的接口函数中仿照windriver生成的程序框架
调用相应的api即可。 ”

zhou兄,就是这一部分我不懂,麻烦再讲详细一点,多谢
学习usb!
hu3721
驱动牛犊
驱动牛犊
  • 注册日期2002-04-03
  • 最后登录2005-01-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-06-12 13:39
另外还有一个办法,直接把我在windriver中生成在lib.c或是diag.c里的函数体拷贝到我的应用程序中,作为成员函数直接调用,如何?比如下面这段程序,我直接拷到应用程序中
DWORD EZUSB9_WritePipe02(EZUSB9_HANDLE hEZUSB9, PVOID pBuffer, DWORD dwSize)
{
    WD_USB_TRANSFER transfer;

    BZERO(transfer);
    transfer.dwPipe = 0x02;
    transfer.dwBytes = dwSize;
    transfer.pBuffer = pBuffer;
    transfer.hDevice = hEZUSB9->hDevice;
    transfer.dwTimeout = 10000;
    WD_UsbTransfer(hEZUSB9->hWD, &transfer);

    if (transfer.fOK)
        return transfer.dwBytesTransfered;
    return 0xffffffff;
}
学习usb!
oe_zhou
驱动牛犊
驱动牛犊
  • 注册日期2002-05-23
  • 最后登录2002-08-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-06-12 17:29
在dll中调用时,仿照xxx_diag.c中的调用阿。
如在导出函数ReadPort()中,这样调:
int WINAPI ReadPort()
{
    //调用参考xxx_diag.c的调用
    //返回调用结果
}
游客

返回顶部