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

📄 ceseries.h

📁 一个用VC++做的嵌入式GPS导航的程序
💻 H
字号:
// CESeries.h: interface for the CCESeries class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_CESERIES_H__4984A1EB_BB8A_4DFF_8FA1_B7D716452301__INCLUDED_)
#define AFX_CESERIES_H__4984A1EB_BB8A_4DFF_8FA1_B7D716452301__INCLUDED_

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

//定义串口接收数据函数类型
typedef void (CALLBACK* ONSERIESREAD)(CWnd*,BYTE* buf,int bufLen);
//CE串口通信类
class CCESeries  
{
public:
	CCESeries();
	virtual ~CCESeries();
public:
	//打开串口
	BOOL OpenPort(CWnd* pPortOwner,//使用串口类,窗体句柄
					UINT portNo = 1,//串口号
					UINT baud	= 9600,//波特率
					UINT parity = NOPARITY,//奇偶校验
					UINT databits = 8,///*数据位*/
					UINT stopbits = 0///*停止位*/
					);
	//关闭串口
	void ClosePort();
	//设置串口读取,写入超时
	BOOL SetSeriesTimeouts(COMMTIMEOUTS CommTimeOuts);
	//向串口写入数据
	BOOL WritePort(const BYTE *buf,DWORD bufLen);

private:
	//已经打开的串口句柄
	HANDLE  m_hComm;
	CWnd* m_pPortOwner;
	//读写线程句柄
	HANDLE m_hReadThread;
	HANDLE m_hWriteThread;
	//读写线程ID标示
	DWORD m_dwReadThreadID;
	DWORD m_dwWriteThreadID;
	//读线程退出事件
	HANDLE m_hReadCloseEvent;
	//写线程退出事件
	HANDLE m_hWriteCloseEvent;
private:
	// 串口读线程函数
	static DWORD WINAPI ReadThreadFunc(LPVOID lparam);
	//串口写线程函数
	static DWORD WINAPI WriteThreadFunc(LPVOID lparam);
	//向串口写入数据
	static BOOL WritePort(HANDLE hComm,const BYTE *buf,DWORD bufLen);

	//关闭读线程
	void CloseReadThread();
	//关闭写线程
	void CloseWriteThread();
public:
	//串口读取回调函数
	ONSERIESREAD  m_OnSeriesRead;

};

#endif // !defined(AFX_CESERIES_H__4984A1EB_BB8A_4DFF_8FA1_B7D716452301__INCLUDED_)

⌨️ 快捷键说明

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