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

📄 d2xx_mod.vb

📁 free sources for gsm
💻 VB
字号:
Imports System.Runtime.InteropServices
Module D2XX_mod

    ' FT_OpenEx Flags
    Public Const FT_OPEN_BY_SERIAL_NUMBER = &H1
    Public Const FT_OPEN_BY_DESCRIPTION = &H2

    ' FT_ListDevices Flags (used in conjunction with FT_OpenEx Flags)
    Public Const FT_LIST_NUMBER_ONLY = &H80000000
    Public Const FT_LIST_BY_INDEX = &H40000000
    Public Const FT_LIST_ALL = &H20000000

    Public Const FT_LIST_MASK = (FT_LIST_NUMBER_ONLY Or FT_LIST_BY_INDEX Or FT_LIST_ALL)

    ' Baud Rates
    Public Enum FT_BAUD As Integer
        FT_BAUD_300 = 300
        FT_BAUD_600 = 600
        FT_BAUD_1200 = 1200
        FT_BAUD_2400 = 2400
        FT_BAUD_4800 = 4800
        FT_BAUD_9600 = 9600
        FT_BAUD_14400 = 14400
        FT_BAUD_19200 = 19200
        FT_BAUD_38400 = 38400
        FT_BAUD_57600 = 57600
        FT_BAUD_115200 = 115200
        FT_BAUD_230400 = 230400
        FT_BAUD_460800 = 460800
        FT_BAUD_921600 = 921600
    End Enum

    ' Word Lengths
    Public Enum FT_BITS As Byte
        FT_BITS_8 = 8
        FT_BITS_7 = 7
        FT_BITS_6 = 6
        FT_BITS_5 = 5
    End Enum

    ' Stop Bits
    Public Enum FT_STOP As Byte
        FT_STOP_BITS_1 = 0
        FT_STOP_BITS_1_5 = 1
        FT_STOP_BITS_2 = 2
    End Enum

    ' Parity
    Public Enum FT_PARITY As Byte
        FT_PARITY_NONE = 0
        FT_PARITY_ODD = 1
        FT_PARITY_EVEN = 2
        FT_PARITY_MARK = 3
        FT_PARITY_SPACE = 4
    End Enum

    ' Flow Control
    Public Enum FT_FLOW As Short
        FT_FLOW_NONE = &H0
        FT_FLOW_RTS_CTS = &H100
        FT_FLOW_DTR_DSR = &H200
        FT_FLOW_XON_XOFF = &H400
    End Enum

    ' Purge rx and tx buffers
    Public Enum FT_PURGE_ As Byte
        FT_PURGE_RX = 1
        FT_PURGE_TX = 2
    End Enum

    ' Events
    Public Const FT_EVENT_RXCHAR = 1
    Public Const FT_EVENT_MODEM_STATUS = 2

    ' Device status
    Public Enum FT_STATUS As Integer
        FT_OK = 0
        FT_INVALID_HANDLE = 1
        FT_DEVICE_NOT_FOUND = 2
        FT_DEVICE_NOT_OPENED = 3
        FT_IO_ERROR = 4
        FT_INSUFFICIENT_RESOURCES = 5
        FT_INVALID_PARAMETER = 6
        FT_INVALID_BAUD_RATE = 7
        FT_DEVICE_NOT_OPENED_FOR_ERASE = 8
        FT_DEVICE_NOT_OPENED_FOR_WRITE = 9
        FT_FAILED_TO_WRITE_DEVICE = 10
        FT_EEPROM_READ_FAILED = 11
        FT_EEPROM_WRITE_FAILED = 12
        FT_EEPROM_ERASE_FAILED = 13
        FT_EEPROM_NOT_PRESENT = 14
        FT_EEPROM_NOT_PROGRAMMED = 15
        FT_INVALID_ARGS = 16
        FT_OTHER_ERROR = 17
    End Enum

    Public Declare Function FT_ListDevices Lib "FTD2XX.DLL" Alias "FT_ListDevices" (ByRef pArg1 As Int32, ByVal pArg2 As Int32, ByVal Flags As Int32) As FT_STATUS
    Public Declare Function FT_ListDevices Lib "FTD2XX.DLL" Alias "FT_ListDevices" (ByVal pArg1 As Int32, ByVal pArg2() As Byte, ByVal Flags As Int32) As FT_STATUS
    Public Declare Function FT_Open Lib "FTD2XX.DLL" (ByVal deviceNumber As Integer, ByRef pHandle As Integer) As FT_STATUS
    Public Declare Function FT_OpenEx Lib "FTD2XX.DLL" (ByVal pArg1() As Byte, ByVal Flags As Integer, ByRef pHandle As Integer) As FT_STATUS
    Public Declare Function FT_Close Lib "FTD2XX.DLL" (ByVal pHandle As Integer) As FT_STATUS
    ' Remember CE is UNICODE and not ASCII Characters! for read and write string
    Public Declare Function FT_Read Lib "FTD2XX.DLL" (ByVal ftHandle As Integer, ByVal lpBuffer As String, ByVal nBufferSize As Integer, ByRef lpBytesReturned As Integer) As FT_STATUS
    Public Declare Function FT_Write Lib "FTD2XX.DLL" (ByVal ftHandle As Integer, ByVal lpBuffer As String, ByVal nBufferSize As Integer, ByRef lpBytesWritten As Integer) As FT_STATUS
    Public Declare Function FT_Read Lib "FTD2XX.DLL" (ByVal ftHandle As Integer, ByVal lpBuffer() As Byte, ByVal nBufferSize As Integer, ByRef lpBytesReturned As Integer) As FT_STATUS
    Public Declare Function FT_Write Lib "FTD2XX.DLL" (ByVal ftHandle As Integer, ByVal lpBuffer() As Byte, ByVal nBufferSize As Integer, ByRef lpBytesWritten As Integer) As FT_STATUS
    Public Declare Function FT_SetBaudRate Lib "FTD2XX.DLL" (ByVal ftHandle As Integer, ByVal BaudRate As Integer) As FT_STATUS
    Public Declare Function FT_SetDataCharacteristics Lib "FTD2XX.DLL" (ByVal ftHandle As Integer, ByVal WordLength As FT_BITS, ByVal StopBits As FT_STOP, ByVal Parity As FT_PARITY) As FT_STATUS
    Public Declare Function FT_SetFlowControl Lib "FTD2XX.DLL" (ByVal ftHandle As Integer, ByVal FlowControl As FT_FLOW, ByVal XonChar As Byte, ByVal XoffChar As Byte) As FT_STATUS
    Public Declare Function FT_ResetDevice Lib "FTD2XX.DLL" (ByVal ftHandle As Integer) As FT_STATUS
    Public Declare Function FT_SetDtr Lib "FTD2XX.DLL" (ByVal ftHandle As Integer) As FT_STATUS
    Public Declare Function FT_ClrDtr Lib "FTD2XX.DLL" (ByVal ftHandle As Integer) As FT_STATUS
    Public Declare Function FT_SetRts Lib "FTD2XX.DLL" (ByVal ftHandle As Integer) As FT_STATUS
    Public Declare Function FT_ClrRts Lib "FTD2XX.DLL" (ByVal ftHandle As Integer) As FT_STATUS
    Public Declare Function FT_GetModemStatus Lib "FTD2XX.DLL" (ByVal ftHandle As Integer, ByRef pModemStatus As Long) As FT_STATUS
    Public Declare Function FT_SetChars Lib "FTD2XX.DLL" (ByVal ftHandle As Integer, ByVal EventChar As Byte, ByVal EventCharEnabled As Byte, ByVal ErrorChar As Byte, ByVal ErrorCharEnabled As Byte) As FT_STATUS
    Public Declare Function FT_Purge Lib "FTD2XX.DLL" (ByVal ftHandle As Integer, ByVal Mask As Integer) As FT_STATUS
    Public Declare Function FT_SetTimeouts Lib "FTD2XX.DLL" (ByVal ftHandle As Integer, ByVal ReadTimeout As Integer, ByVal WriteTimeout As Integer) As FT_STATUS
    Public Declare Function FT_GetQueueStatus Lib "FTD2XX.DLL" (ByVal ftHandle As Integer, ByRef dwRxBytes As Integer) As FT_STATUS
    Public Declare Function FT_SetEventNotification Lib "FTD2XX.DLL" (ByVal ftHandle As Integer, ByVal Mask As Integer, ByVal Param As Long) As FT_STATUS
    Public Declare Function FT_GetEventStatus Lib "FTD2XX.DLL" (ByVal ftHandle As Integer, ByRef dwEventsDWord As Integer) As FT_STATUS
    Public Declare Function FT_GetStatus Lib "FTD2XX.DLL" (ByVal ftHandle As Integer, ByRef dwRxBytes As Integer, ByRef dwTxBytes As Integer, ByRef dwEventDWord As Integer) As FT_STATUS
    Public Declare Function FT_SetBreakOn Lib "FTD2XX.DLL" (ByVal ftHandle As Integer) As FT_STATUS
    Public Declare Function FT_SetBreakOff Lib "FTD2XX.DLL" (ByVal ftHandle As Integer) As FT_STATUS

    ' For event notification you will need to use the following kernel functions
    '   Public Declare Function CreateEvent Lib "Coredll.dll" (ByVal lpEventAttributes As Integer, ByVal bManualReset As Byte, ByVal bInitialState As Byte, ByVal lpName As String) As Integer
    '   Public Declare Function WaitForSingleObject Lib "Coredll.dll" (ByVal hHandle As Integer, ByVal dwMilliseconds As Integer) As Integer
    '   Public Declare Function SetEvent Lib "Coredll.dll" (ByVal hHandle As Integer) As Integer
    '   Public Declare Function CloseHandle Lib "Coredll.dll" (ByVal hHandle As Integer) As Integer

End Module

⌨️ 快捷键说明

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