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

📄 mutithreadserial.h

📁 动态库(dll)中建立串口监视线程的实时串口通信
💻 H
字号:
#if !defined(AFX_BIM10001_H__247217B6_8D3F_11D4_84B3_0050BF117318__INCLUDED_)
#define AFX_BIM10001_H__247217B6_8D3F_11D4_84B3_0050BF117318__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
//#include"O231Com.h"
//#include "O231StructDef.h"

#define SUCCESS                 0 //返回成功定义为0

#define COMM232GETDATAMAX		409600	//接收缓冲区 400K
#define COMM232SENDDATAMAX		102400	//发送缓冲区 100K

///////////////////////监视线程接收到字符的消息
#define WM_COMM232_COMMRECVNOTIFY	WM_USER +100

///////////////////////231消息定义
#define WM_ACTIVE_TRANS             WM_USER + 101  //主动上传
#define WM_SEND_AND_RETURN          WM_USER + 102  //发送命令后的返回
	
class AFX_EXT_CLASS MutithreadSerial : public CWnd
{

public:

         MutithreadSerial();
virtual ~MutithreadSerial();
public:
	bool BeginComm();
	bool InitComm(bool bDefault, int p_iCom, HWND p_hwnd);
	volatile HANDLE hPostMsgEvent;  //用于WM_COMMNOTIFY消息的事件对象
	bool bCommRxSign;				//Com读信号
	bool bCommTxSign;				//Com写信号
	volatile HANDLE hCom;           //端口句柄
	volatile bool bCommConnected;	//端口连接标志
	void CloseComm();
	bool Com1IsOpen;
	bool Com2IsOpen;
	DWORD WriteComm(unsigned char *buf, DWORD dwLength);
	BYTE m_bReData[512];
private:
	HWND m_hwnd231;
	int m_iWhichCommand;	
	int m_iRevLen;
	DWORD ReadComm(unsigned char *buf, DWORD dwLength);
	bool m_bShakeHandFlag;
	CWinThread *pThread;		    //辅助线程指针
	volatile bool bCodeBusy; 	    //辅助命令处理忙标志
	volatile bool bCommOpenOk;		//端口打开成功标志,t为成功
	char sCommSendBuffer[COMM232SENDDATAMAX];	//发送缓冲区
	char sCommGetBuffer[COMM232GETDATAMAX];	    //接收缓冲区
	char sCommGetBuffer2[COMM232GETDATAMAX];    //接收处理备用缓冲区
	int iCommGetCounter;		//接收数据计数器
	int iCommGetCounter2;		//备用接收数据计数器
	OVERLAPPED osRead, osWrite; //用于重叠读/写
	DWORD dwCommLength;			//Com数据长度
	DCB CommDcb;				//串口状态描述字
	bool bDataMode;				//数据模式标志
protected:
	HICON m_hIcon;
public:
	bool ChangeBaud();
	char cEndCode;
	int iBaud;
	void OnCommRecvNotify(WPARAM wParam, LPARAM lParam);
};
#endif

⌨️ 快捷键说明

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