📄 ftd2xx.h
字号:
UCHAR IsoInB; // non-zero if in endpoint is isochronous UCHAR IsoOutA; // non-zero if out endpoint is isochronous UCHAR IsoOutB; // non-zero if out endpoint is isochronous UCHAR PullDownEnable5; // non-zero if pull down enabled UCHAR SerNumEnable5; // non-zero if serial number to be used UCHAR USBVersionEnable5; // non-zero if chip uses USBVersion WORD USBVersion5; // BCD (0x0200 => USB2) UCHAR AIsHighCurrent; // non-zero if interface is high current UCHAR BIsHighCurrent; // non-zero if interface is high current UCHAR IFAIsFifo; // non-zero if interface is 245 FIFO UCHAR IFAIsFifoTar; // non-zero if interface is 245 FIFO CPU target UCHAR IFAIsFastSer; // non-zero if interface is Fast serial UCHAR AIsVCP; // non-zero if interface is to use VCP drivers UCHAR IFBIsFifo; // non-zero if interface is 245 FIFO UCHAR IFBIsFifoTar; // non-zero if interface is 245 FIFO CPU target UCHAR IFBIsFastSer; // non-zero if interface is Fast serial UCHAR BIsVCP; // non-zero if interface is to use VCP drivers // // FT232R extensions // UCHAR UseExtOsc; // Use External Oscillator UCHAR HighDriveIOs; // High Drive I/Os UCHAR EndpointSize; // Endpoint size UCHAR PullDownEnableR; // non-zero if pull down enabled UCHAR SerNumEnableR; // non-zero if serial number to be used UCHAR InvertTXD; // non-zero if invert TXD UCHAR InvertRXD; // non-zero if invert RXD UCHAR InvertRTS; // non-zero if invert RTS UCHAR InvertCTS; // non-zero if invert CTS UCHAR InvertDTR; // non-zero if invert DTR UCHAR InvertDSR; // non-zero if invert DSR UCHAR InvertDCD; // non-zero if invert DCD UCHAR InvertRI; // non-zero if invert RI UCHAR Cbus0; // Cbus Mux control UCHAR Cbus1; // Cbus Mux control UCHAR Cbus2; // Cbus Mux control UCHAR Cbus3; // Cbus Mux control UCHAR Cbus4; // Cbus Mux control UCHAR RIsD2XX; // non-zero if using D2XX driver} FT_PROGRAM_DATA, *PFT_PROGRAM_DATA;FTD2XX_APIFT_STATUS WINAPI FT_EE_Program( FT_HANDLE ftHandle, PFT_PROGRAM_DATA pData );FTD2XX_APIFT_STATUS WINAPI FT_EE_ProgramEx( FT_HANDLE ftHandle, PFT_PROGRAM_DATA pData, char *Manufacturer, char *ManufacturerId, char *Description, char *SerialNumber );FTD2XX_APIFT_STATUS WINAPI FT_EE_Read( FT_HANDLE ftHandle, PFT_PROGRAM_DATA pData );FTD2XX_APIFT_STATUS WINAPI FT_EE_ReadEx( FT_HANDLE ftHandle, PFT_PROGRAM_DATA pData, char *Manufacturer, char *ManufacturerId, char *Description, char *SerialNumber );FTD2XX_APIFT_STATUS WINAPI FT_EE_UASize( FT_HANDLE ftHandle, LPDWORD lpdwSize );FTD2XX_APIFT_STATUS WINAPI FT_EE_UAWrite( FT_HANDLE ftHandle, PUCHAR pucData, DWORD dwDataLen );FTD2XX_APIFT_STATUS WINAPI FT_EE_UARead( FT_HANDLE ftHandle, PUCHAR pucData, DWORD dwDataLen, LPDWORD lpdwBytesRead );FTD2XX_APIFT_STATUS WINAPI FT_SetLatencyTimer( FT_HANDLE ftHandle, UCHAR ucLatency );FTD2XX_APIFT_STATUS WINAPI FT_GetLatencyTimer( FT_HANDLE ftHandle, PUCHAR pucLatency );FTD2XX_APIFT_STATUS WINAPI FT_SetBitMode( FT_HANDLE ftHandle, UCHAR ucMask, UCHAR ucEnable );FTD2XX_APIFT_STATUS WINAPI FT_GetBitMode( FT_HANDLE ftHandle, PUCHAR pucMode );FTD2XX_APIFT_STATUS WINAPI FT_SetUSBParameters( FT_HANDLE ftHandle, ULONG ulInTransferSize, ULONG ulOutTransferSize );FTD2XX_APIFT_STATUS WINAPI FT_SetDeadmanTimeout( FT_HANDLE ftHandle, ULONG ulDeadmanTimeout );FTD2XX_APIFT_STATUS WINAPI FT_GetDeviceInfo( FT_HANDLE ftHandle, FT_DEVICE *lpftDevice, LPDWORD lpdwID, PCHAR SerialNumber, PCHAR Description, LPVOID Dummy );FTD2XX_APIFT_STATUS WINAPI FT_StopInTask( FT_HANDLE ftHandle );FTD2XX_APIFT_STATUS WINAPI FT_RestartInTask( FT_HANDLE ftHandle );FTD2XX_APIFT_STATUS WINAPI FT_SetResetPipeRetryCount( FT_HANDLE ftHandle, DWORD dwCount );FTD2XX_APIFT_STATUS WINAPI FT_ResetPort( FT_HANDLE ftHandle );FTD2XX_APIFT_STATUS WINAPI FT_CyclePort( FT_HANDLE ftHandle );//// Win32-type functions//FTD2XX_APIFT_HANDLE WINAPI FT_W32_CreateFile( LPCTSTR lpszName, DWORD dwAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreate, DWORD dwAttrsAndFlags, HANDLE hTemplate );FTD2XX_APIBOOL WINAPI FT_W32_CloseHandle( FT_HANDLE ftHandle );FTD2XX_APIBOOL WINAPI FT_W32_ReadFile( FT_HANDLE ftHandle, LPVOID lpBuffer, DWORD nBufferSize, LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped );FTD2XX_APIBOOL WINAPI FT_W32_WriteFile( FT_HANDLE ftHandle, LPVOID lpBuffer, DWORD nBufferSize, LPDWORD lpBytesWritten, LPOVERLAPPED lpOverlapped );FTD2XX_APIDWORD WINAPI FT_W32_GetLastError( FT_HANDLE ftHandle );FTD2XX_APIBOOL WINAPI FT_W32_GetOverlappedResult( FT_HANDLE ftHandle, LPOVERLAPPED lpOverlapped, LPDWORD lpdwBytesTransferred, BOOL bWait );FTD2XX_APIBOOL WINAPI FT_W32_CancelIo( FT_HANDLE ftHandle );//// Win32 COMM API type functions//typedef struct _FTCOMSTAT { DWORD fCtsHold : 1; DWORD fDsrHold : 1; DWORD fRlsdHold : 1; DWORD fXoffHold : 1; DWORD fXoffSent : 1; DWORD fEof : 1; DWORD fTxim : 1; DWORD fReserved : 25; DWORD cbInQue; DWORD cbOutQue;} FTCOMSTAT, *LPFTCOMSTAT;typedef struct _FTDCB { DWORD DCBlength; /* sizeof(FTDCB) */ DWORD BaudRate; /* Baudrate at which running */ DWORD fBinary: 1; /* Binary Mode (skip EOF check) */ DWORD fParity: 1; /* Enable parity checking */ DWORD fOutxCtsFlow:1; /* CTS handshaking on output */ DWORD fOutxDsrFlow:1; /* DSR handshaking on output */ DWORD fDtrControl:2; /* DTR Flow control */ DWORD fDsrSensitivity:1; /* DSR Sensitivity */ DWORD fTXContinueOnXoff: 1; /* Continue TX when Xoff sent */ DWORD fOutX: 1; /* Enable output X-ON/X-OFF */ DWORD fInX: 1; /* Enable input X-ON/X-OFF */ DWORD fErrorChar: 1; /* Enable Err Replacement */ DWORD fNull: 1; /* Enable Null stripping */ DWORD fRtsControl:2; /* Rts Flow control */ DWORD fAbortOnError:1; /* Abort all reads and writes on Error */ DWORD fDummy2:17; /* Reserved */ WORD wReserved; /* Not currently used */ WORD XonLim; /* Transmit X-ON threshold */ WORD XoffLim; /* Transmit X-OFF threshold */ BYTE ByteSize; /* Number of bits/byte, 4-8 */ BYTE Parity; /* 0-4=None,Odd,Even,Mark,Space */ BYTE StopBits; /* 0,1,2 = 1, 1.5, 2 */ char XonChar; /* Tx and Rx X-ON character */ char XoffChar; /* Tx and Rx X-OFF character */ char ErrorChar; /* Error replacement char */ char EofChar; /* End of Input character */ char EvtChar; /* Received Event character */ WORD wReserved1; /* Fill for now. */} FTDCB, *LPFTDCB;typedef struct _FTTIMEOUTS { DWORD ReadIntervalTimeout; /* Maximum time between read chars. */ DWORD ReadTotalTimeoutMultiplier; /* Multiplier of characters. */ DWORD ReadTotalTimeoutConstant; /* Constant in milliseconds. */ DWORD WriteTotalTimeoutMultiplier; /* Multiplier of characters. */ DWORD WriteTotalTimeoutConstant; /* Constant in milliseconds. */} FTTIMEOUTS,*LPFTTIMEOUTS;FTD2XX_APIBOOL WINAPI FT_W32_ClearCommBreak( FT_HANDLE ftHandle );FTD2XX_APIBOOL WINAPI FT_W32_ClearCommError( FT_HANDLE ftHandle, LPDWORD lpdwErrors, LPFTCOMSTAT lpftComstat );FTD2XX_APIBOOL WINAPI FT_W32_EscapeCommFunction( FT_HANDLE ftHandle, DWORD dwFunc );FTD2XX_APIBOOL WINAPI FT_W32_GetCommModemStatus( FT_HANDLE ftHandle, LPDWORD lpdwModemStatus );FTD2XX_APIBOOL WINAPI FT_W32_GetCommState( FT_HANDLE ftHandle, LPFTDCB lpftDcb );FTD2XX_APIBOOL WINAPI FT_W32_GetCommTimeouts( FT_HANDLE ftHandle, FTTIMEOUTS *pTimeouts );FTD2XX_APIBOOL WINAPI FT_W32_PurgeComm( FT_HANDLE ftHandle, DWORD dwMask );FTD2XX_APIBOOL WINAPI FT_W32_SetCommBreak( FT_HANDLE ftHandle );FTD2XX_APIBOOL WINAPI FT_W32_SetCommMask( FT_HANDLE ftHandle, ULONG ulEventMask );FTD2XX_APIBOOL WINAPI FT_W32_GetCommMask( FT_HANDLE ftHandle, LPDWORD lpdwEventMask );FTD2XX_APIBOOL WINAPI FT_W32_SetCommState( FT_HANDLE ftHandle, LPFTDCB lpftDcb );FTD2XX_APIBOOL WINAPI FT_W32_SetCommTimeouts( FT_HANDLE ftHandle, FTTIMEOUTS *pTimeouts );FTD2XX_APIBOOL WINAPI FT_W32_SetupComm( FT_HANDLE ftHandle, DWORD dwReadBufferSize, DWORD dwWriteBufferSize );FTD2XX_APIBOOL WINAPI FT_W32_WaitCommEvent( FT_HANDLE ftHandle, PULONG pulEvent, LPOVERLAPPED lpOverlapped );//// Device information//typedef struct _ft_device_list_info_node { ULONG Flags; ULONG Type; ULONG ID; DWORD LocId; char SerialNumber[16]; char Description[64]; FT_HANDLE ftHandle;} FT_DEVICE_LIST_INFO_NODE;FTD2XX_APIFT_STATUS WINAPI FT_CreateDeviceInfoList( LPDWORD lpdwNumDevs );FTD2XX_APIFT_STATUS WINAPI FT_GetDeviceInfoList( FT_DEVICE_LIST_INFO_NODE *pDest, LPDWORD lpdwNumDevs );FTD2XX_APIFT_STATUS WINAPI FT_GetDeviceInfoDetail( DWORD dwIndex, LPDWORD lpdwFlags, LPDWORD lpdwType, LPDWORD lpdwID, LPDWORD lpdwLocId, LPVOID lpSerialNumber, LPVOID lpDescription, FT_HANDLE *pftHandle );//// Version information//FTD2XX_APIFT_STATUS WINAPI FT_GetDriverVersion( FT_HANDLE ftHandle, LPDWORD lpdwVersion );FTD2XX_APIFT_STATUS WINAPI FT_GetLibraryVersion( LPDWORD lpdwVersion );FTD2XX_APIFT_STATUS WINAPI FT_Rescan( void );FTD2XX_APIFT_STATUS WINAPI FT_Reload( WORD wVid, WORD wPid );#ifdef __cplusplus}#endif#endif /* FTD2XX_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -