myserial.h

来自「一个串行口通讯的例子程序」· C头文件 代码 · 共 58 行

H
58
字号
/*******************************************************************************
						
						  串行口操作类 CMySerial 
						 
							 宣善明
							    xuanshanming@sina.com
						    
						      2003年1月



  使用方法:
       先调用InitSerial()函数初始化串口
	   然后分别调用WritePort(),ReadPort()来读写端口
	   其中ReadPort采用线程完成,只允许同时有一个线程读串口,可以设置最大等待时间
	   使用完毕后用CloseSerial()关闭串口即可

*********************************************************************************/

#ifndef _MYSERIAL_H
#define _MYSERIAL_H

class CMySerial 
{
protected:
	HANDLE m_hSerial;    //串口句柄
	DWORD  m_dwError;    //错误代码

	typedef struct _BUFFER
	{
		DWORD dwLen;     //缓冲区长度
		LPBYTE lpByte;   //缓冲区首地址
	} BUFFER, *LPBUFFER;

	long m_nReadThread;      //读串口线程句柄
	BUFFER m_ReadingBuffer;  //读串口缓冲区
	static UINT ReadThread (LPVOID pParam); //读串口线程

public:
	CMySerial();   //构造函数
	~CMySerial();  //析构函数
	
	BOOL InitSerial(UINT nPort=1, UINT baud=2400, char parity='n', 
					UINT databits=8, UINT stopbits=1);  //初始化串口
	BOOL CloseSerial();                                 //关闭串口

	BOOL WritePort(BYTE byte);                //写串口
	BOOL ReadPort(LPBYTE lpByte, DWORD dwLen=1, DWORD dwTimeLimit=2000);  //读串口

	void DisplayError(void);      //格式化输出错误代码 


	//特殊功能函数
	double GetFrequency();   //从串口得到一个数据
	void MaxMin(int *pInt, int len, int &max, int &min);  //找到一组数据中的最大最小值
};

#endif //_MYSERIAL_H

⌨️ 快捷键说明

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