pserialport.h

来自「ce下的指纹识别模块。使用的是瀚兴科技M620V-S指纹模块」· C头文件 代码 · 共 53 行

H
53
字号
// PSerialPort.h: interface for the CPSerialPort class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_PSERIALPORT_H__94624A6E_259B_4794_A21B_2C0B6E260624__INCLUDED_)
#define AFX_PSERIALPORT_H__94624A6E_259B_4794_A21B_2C0B6E260624__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

typedef void (*LPDataArriveProc)(BYTE *data,int length,DWORD userdata);

class CPSerialPort  
{
public:
	CPSerialPort();
	virtual ~CPSerialPort();

	BOOL OpenPort(LPCTSTR Port,int Baudrate,int DataBits,int StopBits,int Parity,LPDataArriveProc proc=NULL,DWORD userdata=0); //打开串口
	BOOL ClosePort(); //关闭串口
	
	//激活与关闭持续接收
	BOOL Activate();
	BOOL Deactivate();
	BOOL IsActive();
	
	//接收数据线程函数
	static DWORD WINAPI ReadPortThread(LPVOID lpParameter);
	
	DWORD ReadPort(BYTE *data,int length); //读取一定长度的数据
	DWORD WritePort(BYTE *data,int length); //发送数据
	DWORD WriteFileToPort(LPCTSTR FileName); //发送文件
	
private:
	HANDLE m_hComm; //串口设备handle
	HANDLE m_hReadThread; //读串口线程handle
	BOOL m_bReceiving; //是否持续接收
	int m_nBufferSize; //缓冲大小

	BYTE *Buffer; //缓冲区
	
	LPDataArriveProc m_lpDataArriveProc;  //函数指针
	DWORD m_dwUserData;

	//串口设置以及超时参数
	DCB dcb;
	COMMTIMEOUTS CommTimeOuts;	
	
};

#endif // !defined(AFX_PSERIALPORT_H__94624A6E_259B_4794_A21B_2C0B6E260624__INCLUDED_)

⌨️ 快捷键说明

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