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

📄 ftd2xx.h

📁 NanoStack is a 6lowpan IPv6 + IEEE 802.15.4 protocol stack, enabling wireless embedded and sensor ne
💻 H
📖 第 1 页 / 共 2 页
字号:
	UCHAR USBVersionEnable;		// non-zero if chip uses USBVersion	WORD USBVersion;			// BCD (0x0200 => USB2)	//	// FT2232C extensions	//	UCHAR Rev5;					// non-zero if Rev5 chip, zero otherwise	UCHAR IsoInA;				// non-zero if in endpoint is isochronous	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 RIsVCP;				// zero if using VCP drivers	} 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 lpData,	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 lpData,	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(		// Linux, OS X: Not supported    FT_HANDLE ftHandle,	DWORD dwCount    );FTD2XX_APIFT_STATUS WINAPI FT_ResetPort(		// Linux, OS X: Not supported    FT_HANDLE ftHandle    );	FTD2XX_APIFT_STATUS WINAPI FT_CyclePort(		// Linux, OS X: Not supported    FT_HANDLE ftHandle    );//// Win32-type functions//FTD2XX_APIFT_HANDLE WINAPI FT_W32_CreateFile(	LPCSTR					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(		// Linux, OS X: Not supported    FT_HANDLE ftHandle,	LPOVERLAPPED lpOverlapped,    LPDWORD lpdwBytesTransferred,	BOOL bWait    );FTD2XX_APIBOOL WINAPI FT_W32_CancelIo(	// Linux, OS X: Not supported    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_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	);	FTD2XX_APIFT_STATUS WINAPI FT_GetDriverVersion(    FT_HANDLE ftHandle,	LPDWORD	lpdwVersion	);	FTD2XX_APIFT_STATUS WINAPI FT_GetLibraryVersion(	LPDWORD	lpdwVersion	);//// Events//#define EV_RXCHAR           0x0001  // Any Character received#define EV_RXFLAG           0x0002  // Received certain character#define EV_TXEMPTY          0x0004  // Transmitt Queue Empty#define EV_CTS              0x0008  // CTS changed state#define EV_DSR              0x0010  // DSR changed state#define EV_RLSD             0x0020  // RLSD changed state#define EV_BREAK            0x0040  // BREAK received#define EV_ERR              0x0080  // Line status error occurred#define EV_RING             0x0100  // Ring signal detected#define EV_PERR             0x0200  // Printer error occured#define EV_RX80FULL         0x0400  // Receive buffer is 80 percent full#define EV_EVENT1           0x0800  // Provider specific event 1#define EV_EVENT2           0x1000  // Provider specific event 2//// Escape Functions//#define SETXOFF             1       // Simulate XOFF received#define SETXON              2       // Simulate XON received#define SETRTS              3       // Set RTS high#define CLRRTS              4       // Set RTS low#define SETDTR              5       // Set DTR high#define CLRDTR              6       // Set DTR low#define RESETDEV            7       // Reset device if possible#define SETBREAK            8       // Set the device break line.#define CLRBREAK            9       // Clear the device break line.//// PURGE function flags.//#define PURGE_TXABORT       0x0001  // Kill the pending/current writes to the comm port.#define PURGE_RXABORT       0x0002  // Kill the pending/current reads to the comm port.#define PURGE_TXCLEAR       0x0004  // Kill the transmit queue if there.#define PURGE_RXCLEAR       0x0008  // Kill the typeahead buffer if there.#ifdef __cplusplus}#endif#endif  /* FTD2XX_H */

⌨️ 快捷键说明

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