📄 cp210xmanufacturingdll.h
字号:
// The following ifdef block is the standard way of creating macros which make exporting
// from a DLL simpler. All files within this DLL are compiled with the CP210xDLL_EXPORTS
// symbol defined on the command line. this symbol should not be defined on any project
// that uses this DLL. This way any other project whose source files include this file see
// CP210xDLL_API functions as being imported from a DLL, wheras this DLL sees symbols
// defined with this macro as being exported.
#ifdef CP210xDLL_EXPORTS
#define CP210xDLL_API __declspec(dllexport)
#else
#define CP210xDLL_API __declspec(dllimport)
#endif
// GetProductString() function flags
#define CP210x_RETURN_SERIAL_NUMBER 0x00
#define CP210x_RETURN_DESCRIPTION 0x01
#define CP210x_RETURN_FULL_PATH 0x02
// GetDeviceVersion() return codes
#define CP210x_CP2101_VERSION 0x01
#define CP210x_CP2102_VERSION 0x02
#define CP210x_CP2103_VERSION 0x03
// Return codes
#define CP210x_SUCCESS 0x00
#define CP210x_DEVICE_NOT_FOUND 0xFF
#define CP210x_INVALID_HANDLE 0x01
#define CP210x_INVALID_PARAMETER 0x02
#define CP210x_DEVICE_IO_FAILED 0x03
#define CP210x_FUNCTION_NOT_SUPPORTED 0x04
#define CP210x_GLOBAL_DATA_ERROR 0x05
#define CP210x_FILE_ERROR 0x06
// Buffer size limits
#define CP210x_MAX_DEVICE_STRLEN 256
#define CP210x_MAX_PRODUCT_STRLEN 126
#define CP210x_MAX_SERIAL_STRLEN 63
#define CP210x_MAX_MAXPOWER 250
// Type definitions
typedef int CP210x_STATUS;
typedef char CP210x_DEVICE_STRING[CP210x_MAX_DEVICE_STRLEN];
typedef char CP210x_PRODUCT_STRING[CP210x_MAX_PRODUCT_STRLEN];
typedef char CP210x_SERIAL_STRING[CP210x_MAX_SERIAL_STRLEN];
//Baud Rate Aliasing definitions
#define NUM_BAUD_CONFIGS 32
typedef struct
{
WORD BaudGen;
WORD Timer0Reload;
BYTE Prescaler;
DWORD BaudRate;
} BAUD_CONFIG;
#define BAUD_CONFIG_SIZE 10
typedef BAUD_CONFIG BAUD_CONFIG_DATA[NUM_BAUD_CONFIGS];
//PORT_CONFIG Structure();
typedef struct
{
WORD Mode; // Push-Pull = 1, Open-Drain = 0
WORD LowPower; // Low Power = 1, Normal Operation = 0
WORD Latch; // Logic High = 1, Logic Low = =0
} PORT_STATE;
typedef struct
{
PORT_STATE Reset;
PORT_STATE Suspend;
unsigned char EnhancedFxn;
} PORT_CONFIG;
#ifdef __cplusplus
extern "C" {
#endif
CP210xDLL_API
CP210x_STATUS WINAPI CP210x_GetNumDevices(
LPDWORD lpdwNumDevices
);
CP210xDLL_API
CP210x_STATUS WINAPI CP210x_GetProductString(
DWORD dwDeviceNum,
LPVOID lpvDeviceString,
DWORD dwFlags
);
CP210xDLL_API
CP210x_STATUS WINAPI CP210x_Open(
DWORD dwDevice,
HANDLE* cyHandle
);
CP210xDLL_API
CP210x_STATUS WINAPI CP210x_Close(
HANDLE cyHandle
);
CP210xDLL_API
CP210x_STATUS
WINAPI
CP210x_GetPartNumber( HANDLE cyHandle,
LPBYTE lpbPartNum
);
CP210xDLL_API
CP210x_STATUS
WINAPI
CP210x_SetVid(
HANDLE cyHandle,
WORD wVid
);
CP210xDLL_API
CP210x_STATUS
WINAPI
CP210x_SetPid(
HANDLE cyHandle,
WORD wPid
);
CP210xDLL_API
CP210x_STATUS
WINAPI
CP210x_SetProductString(
HANDLE cyHandle,
LPVOID lpvProduct,
BYTE bLength,
BOOL bConvertToUnicode = TRUE
);
CP210xDLL_API
CP210x_STATUS
WINAPI
CP210x_SetSerialNumber(
HANDLE cyHandle,
LPVOID lpvSerialNumber,
BYTE bLength,
BOOL bConvertToUnicode = TRUE
);
CP210xDLL_API
CP210x_STATUS
WINAPI
CP210x_SetSelfPower(
HANDLE cyHandle,
BOOL bSelfPower
);
CP210xDLL_API
CP210x_STATUS
WINAPI
CP210x_SetMaxPower(
HANDLE cyHandle,
BYTE bMaxPower
);
CP210xDLL_API
CP210x_STATUS
WINAPI
CP210x_SetDeviceVersion(
HANDLE cyHandle,
WORD wVersion
);
CP210xDLL_API
CP210x_STATUS
WINAPI
CP210x_SetBaudRateConfig(
HANDLE cyHandle,
BAUD_CONFIG* baudConfigData
);
CP210xDLL_API
CP210x_STATUS
WINAPI
CP210x_SetLockValue(
HANDLE cyHandle
);
CP210xDLL_API
CP210x_STATUS
WINAPI
CP210x_GetDeviceProductString(
HANDLE cyHandle,
LPVOID lpProduct,
LPBYTE lpbLength,
BOOL bConvertToASCII = TRUE
);
CP210xDLL_API
CP210x_STATUS
WINAPI
CP210x_GetDeviceSerialNumber(
HANDLE cyHandle,
LPVOID lpSerialNumber,
LPBYTE lpbLength,
BOOL bConvertToASCII = TRUE
);
CP210xDLL_API
CP210x_STATUS
WINAPI
CP210x_GetDeviceVid(
HANDLE cyHandle,
LPWORD lpwVid
);
CP210xDLL_API
CP210x_STATUS
WINAPI
CP210x_GetDevicePid(
HANDLE cyHandle,
LPWORD lpwPid
);
CP210xDLL_API
CP210x_STATUS
WINAPI
CP210x_GetSelfPower(
HANDLE cyHandle,
LPBOOL lpbSelfPower
);
CP210xDLL_API
CP210x_STATUS
WINAPI
CP210x_GetMaxPower(
HANDLE cyHandle,
LPBYTE lpbPower
);
CP210xDLL_API
CP210x_STATUS
WINAPI
CP210x_GetDeviceVersion(
HANDLE cyHandle,
LPWORD lpwVersion
);
CP210xDLL_API
CP210x_STATUS
WINAPI
CP210x_GetBaudRateConfig(
HANDLE cyHandle,
BAUD_CONFIG* baudConfigData
);
CP210xDLL_API
CP210x_STATUS
WINAPI
CP210x_GetLockValue(
HANDLE cyHandle,
LPBYTE lpbLockValue
);
CP210xDLL_API
CP210x_STATUS
WINAPI
CP210x_CreateHexFile(
HANDLE cyHandle,
LPCSTR lpvFileName
);
CP210xDLL_API
CP210x_STATUS
WINAPI
CP210x_Reset(
HANDLE cyHandle
);
CP210xDLL_API
CP210x_STATUS
WINAPI
CP210x_GetPortConfig(
HANDLE cyHandle,
PORT_CONFIG* PortConfig
);
CP210xDLL_API
CP210x_STATUS
WINAPI
CP210x_SetPortConfig(
HANDLE cyHandle,
PORT_CONFIG* PortConfig
);
#ifdef __cplusplus
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -