⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usbdriver.h

📁 C++ Buider下控制USB设备的例程。目标板为C8051F开发板
💻 H
字号:
//---------------------------------------------------------------------------
#ifndef _USBDriver_H_
#define _USBDriver_H_

#include <vcl.h>
#include <dir.h>
#include <setupapi.h>
//#include "C:/WINDDK/2600.1106/inc/ddk/w2k/usbdi.h"
//#include "C:/WINDDK/2600.1106/inc/ddk/w2k/devioctl.h"
#include <initguid.h>
//---------------------------------------------------------------------------

#define MAX_DEVICENAME_LEN      300
#define USB_WRITEPIPE	        "PIPE01"
#define USB_READPIPE	        "PIPE00"

// GUID
//DEFINE_GUID(USB_DRIVER_GUID, 0x96E73B6E, 0x7A5A, 0x11D4, 0x9F, 0x24, 0x00, 0x80, 0xC8, 0x27, 0x27, 0xF4);

DEFINE_GUID(USB_DRIVER_GUID, 0xdda31245, 0x1bfc, 0x4225, 0xb2, 0xb8, 0xea, 0xaa, 0xb2, 0xe3, 0x90, 0xb6);

class USBDriver
{
    private:        // private user declarations

    protected:

    HANDLE hUSB_Read;
    HANDLE hUSB_Write;

    public:         // public user declarations
        char *DeviceName;
        USBDriver()
        {
            DeviceName = new char[MAX_DEVICENAME_LEN];
            memset(DeviceName, 0x00, MAX_DEVICENAME_LEN);
        }

        ~USBDriver()
        {
            delete DeviceName;
        }

        HANDLE OpenOneDevice(HDEVINFO hDvcInfo, PSP_INTERFACE_DEVICE_DATA DvcInfoData, char *sDevNameBuf);
        HANDLE OpenUsbDevice(const GUID *pGuid, char *sDevNameBuf);
        bool GetUsbDeviceFileName(const GUID *pGuid, char *sDevNameBuf);
        HANDLE OpenMyDevice(void);
        HANDLE OpenMyDevPipe(const char *PipeName);
        bool SendToDevice(HANDLE hUSB_Handle, char *buf, DWORD len);
        DWORD ReadFromDevice(HANDLE hUSB_Handle, char *buf, DWORD len);

        void USBDriver_Init(void);
        bool ConnectToUSBDevice(void);
        void DisconnectFromUSBDevice(void);
        bool CodeUpdate(int type, char *buf, DWORD len);
};

unsigned int ltob_16(unsigned int a);
unsigned long ltob_32(unsigned long a);

#endif // _USBDriver_H_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -