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

📄 serial.h

📁 串口程序。dos底下的编程源码
💻 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 + -