📄 serial.h
字号:
/*
Module : SERIALPORT.H
Copyright (c) 1999 - 2001 by db
*/
///////////////////// Macros / Structs etc //////////////////////////
#ifndef __SERIALPORT_H__
#define __SERIALPORT_H__
//Enums
enum FlowControl
{
NoFlowControl,
CtsRtsFlowControl,
CtsDtrFlowControl,
DsrRtsFlowControl,
DsrDtrFlowControl,
XonXoffFlowControl
};
enum Parity
{
EvenParity,
MarkParity,
NoParity,
OddParity,
SpaceParity
};
enum StopBits
{
OneStopBit,
OnePointFiveStopBits,
TwoStopBits
};
extern "C"
{
typedef HANDLE (FAR PASCAL * TP_RS_Open)(int nPort, DWORD dwBaud, Parity parity, BYTE DataBits, StopBits stopbits, FlowControl fc, BOOL bOverlapped);
typedef BOOL (FAR PASCAL * TP_RS_Close)(HANDLE hComm);
typedef DWORD (FAR PASCAL * TP_RS_Read)(HANDLE hComm, void* lpBuf, DWORD dwCount);
typedef BOOL (FAR PASCAL * TP_RS_ReadOv)(HANDLE hComm, void* lpBuf, DWORD dwCount, OVERLAPPED& overlapped, DWORD* pBytesRead);
typedef DWORD (FAR PASCAL * TP_RS_Write)(HANDLE hComm, const void* lpBuf, DWORD dwCount);
typedef BOOL (FAR PASCAL * TP_RS_WriteOv)(HANDLE hComm, const void* lpBuf, DWORD dwCount, OVERLAPPED& overlapped);
typedef BOOL (FAR PASCAL * TP_RS_GetOverlappedResult)(HANDLE hComm, OVERLAPPED& overlapped, DWORD& dwBytesTransferred, BOOL bWait);
typedef DWORD (FAR PASCAL * TP_RS_BytesWaiting)(HANDLE hComm);
typedef BOOL (FAR PASCAL * TP_RS_TransmitChar)(HANDLE hComm, char cChar);
typedef BOOL (FAR PASCAL * TP_RS_GetConfig)(HANDLE hComm, COMMCONFIG& config);
typedef BOOL (FAR PASCAL * TP_RS_SetConfig)(HANDLE hComm, COMMCONFIG& config);
typedef BOOL (FAR PASCAL * TP_RS_SetBreak)(HANDLE hComm);
typedef BOOL (FAR PASCAL * TP_RS_ClearBreak)(HANDLE hComm);
typedef BOOL (FAR PASCAL * TP_RS_ClearError)(HANDLE hComm, DWORD& dwErrors);
typedef BOOL (FAR PASCAL * TP_RS_GetDefaultConfig)(int nPort, COMMCONFIG& config);
typedef BOOL (FAR PASCAL * TP_RS_SetDefaultConfig)(int nPort, COMMCONFIG& config);
typedef BOOL (FAR PASCAL * TP_RS_GetStatus)(HANDLE hComm, COMSTAT& stat);
typedef BOOL (FAR PASCAL * TP_RS_GetState)(HANDLE hComm, DCB& dcb);
typedef BOOL (FAR PASCAL * TP_RS_SetState)(HANDLE hComm, DCB& dcb);
typedef BOOL (FAR PASCAL * TP_RS_Escape)(HANDLE hComm, DWORD dwFunc);
typedef BOOL (FAR PASCAL * TP_RS_ClearDTR)(HANDLE hComm);
typedef BOOL (FAR PASCAL * TP_RS_ClearRTS)(HANDLE hComm);
typedef BOOL (FAR PASCAL * TP_RS_SetDTR)(HANDLE hComm);
typedef BOOL (FAR PASCAL * TP_RS_SetRTS)(HANDLE hComm);
typedef BOOL (FAR PASCAL * TP_RS_SetXOFF)(HANDLE hComm);
typedef BOOL (FAR PASCAL * TP_RS_SetXON)(HANDLE hComm);
typedef BOOL (FAR PASCAL * TP_RS_GetProperties)(HANDLE hComm, COMMPROP& properties);
typedef BOOL (FAR PASCAL * TP_RS_GetModemStatus)(HANDLE hComm, DWORD& dwModemStatus);
typedef BOOL (FAR PASCAL * TP_RS_SetMask)(HANDLE hComm, DWORD dwMask);
typedef BOOL (FAR PASCAL * TP_RS_GetMask)(HANDLE hComm, DWORD& dwMask);
typedef BOOL (FAR PASCAL * TP_RS_Flush)(HANDLE hComm);
typedef BOOL (FAR PASCAL * TP_RS_Purge)(HANDLE hComm, DWORD dwFlags);
typedef BOOL (FAR PASCAL * TP_RS_TerminateOutstandingWrites)(HANDLE hComm);
typedef BOOL (FAR PASCAL * TP_RS_TerminateOutstandingReads)(HANDLE hComm);
typedef BOOL (FAR PASCAL * TP_RS_ClearWriteBuffer)(HANDLE hComm);
typedef BOOL (FAR PASCAL * TP_RS_ClearReadBuffer)(HANDLE hComm);
typedef BOOL (FAR PASCAL * TP_RS_Setup)(HANDLE hComm, DWORD dwInQueue, DWORD dwOutQueue);
typedef BOOL (FAR PASCAL * TP_RS_SetTimeouts)(HANDLE hComm, COMMTIMEOUTS& timeouts);
typedef BOOL (FAR PASCAL * TP_RS_GetTimeouts)(HANDLE hComm, COMMTIMEOUTS& timeouts);
typedef BOOL (FAR PASCAL * TP_RS_Set0Timeout)(HANDLE hComm);
typedef BOOL (FAR PASCAL * TP_RS_Set0WriteTimeout)(HANDLE hComm);
typedef BOOL (FAR PASCAL * TP_RS_Set0ReadTimeout)(HANDLE hComm);
typedef BOOL (FAR PASCAL * TP_RS_WaitEvent)(HANDLE hComm, DWORD& dwMask);
typedef BOOL (FAR PASCAL * TP_RS_WaitEventOv)(HANDLE hComm, DWORD& dwMask, OVERLAPPED& overlapped);
typedef BOOL (FAR PASCAL * TP_RS_WriteBufferOv)(HANDLE hComm, const void* lpBuf, DWORD dwCount, DWORD* pBytesWrite);
typedef BOOL (FAR PASCAL * TP_RS_ReadBufferOv)(HANDLE hComm, void* lpBuf, DWORD dwCount, DWORD* pBytesRead);
extern TP_RS_Open RS_Open;
extern TP_RS_Close RS_Close;
extern TP_RS_Read RS_Read;
extern TP_RS_ReadOv RS_ReadOv;
extern TP_RS_Write RS_Write;
extern TP_RS_WriteOv RS_WriteOv;
extern TP_RS_GetOverlappedResult RS_GetOverlappedResult;
extern TP_RS_BytesWaiting RS_BytesWaiting;
extern TP_RS_TransmitChar RS_TransmitChar;
extern TP_RS_GetConfig RS_GetConfig;
extern TP_RS_SetConfig RS_SetConfig;
extern TP_RS_SetBreak RS_SetBreak;
extern TP_RS_ClearBreak RS_ClearBreak;
extern TP_RS_ClearError RS_ClearError;
extern TP_RS_GetDefaultConfig RS_GetDefaultConfig;
extern TP_RS_SetDefaultConfig RS_SetDefaultConfig;
extern TP_RS_GetStatus RS_GetStatus;
extern TP_RS_GetState RS_GetState;
extern TP_RS_SetState RS_SetState;
extern TP_RS_Escape RS_Escape;
extern TP_RS_ClearDTR RS_ClearDTR;
extern TP_RS_ClearRTS RS_ClearRTS;
extern TP_RS_SetDTR RS_SetDTR;
extern TP_RS_SetRTS RS_SetRTS;
extern TP_RS_SetXOFF RS_SetXOFF;
extern TP_RS_SetXON RS_SetXON;
extern TP_RS_GetProperties RS_GetProperties;
extern TP_RS_GetModemStatus RS_GetModemStatus;
extern TP_RS_SetMask RS_SetMask;
extern TP_RS_GetMask RS_GetMask;
extern TP_RS_Flush RS_Flush;
extern TP_RS_Purge RS_Purge;
extern TP_RS_TerminateOutstandingWrites RS_TerminateOutstandingWrites;
extern TP_RS_TerminateOutstandingReads RS_TerminateOutstandingReads;
extern TP_RS_ClearWriteBuffer RS_ClearWriteBuffer;
extern TP_RS_ClearReadBuffer RS_ClearReadBuffer;
extern TP_RS_Setup RS_Setup;
extern TP_RS_SetTimeouts RS_SetTimeouts;
extern TP_RS_GetTimeouts RS_GetTimeouts;
extern TP_RS_Set0Timeout RS_Set0Timeout;
extern TP_RS_Set0WriteTimeout RS_Set0WriteTimeout;
extern TP_RS_Set0ReadTimeout RS_Set0ReadTimeout;
extern TP_RS_WaitEvent RS_WaitEvent;
extern TP_RS_WaitEventOv RS_WaitEventOv;
extern TP_RS_WriteBufferOv RS_WriteBufferOv;
extern TP_RS_ReadBufferOv RS_ReadBufferOv;
};
void LoadLibrarySerial();
void FreeLibrarySerial();
#endif //__SERIALPORT_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -