📄 commthread.h
字号:
#ifndef __COMMTHREAD_H__
#define __COMMTHREAD_H__
#define WM_COMM_READ (WM_USER +1)
#define BUFF_SIZE 4192
// 烹脚 努贰胶 CCommThread
// 器飘俊辑 佬扁 :
// 器飘甫 楷 饶俊 器飘俊 磊丰啊 档馒窍搁 WM_COMM_READ 皋矫瘤啊 皋牢
// 扩档快俊 傈崔等促. ON_MESSAGE 概农肺甫 捞侩, 窃荐甫 楷搬窍绊
// m_ReadData String俊 历厘等 单捞磐甫 捞侩 佬扁
// 器飘俊 静扁 : WriteComm(buff, 30)苞 鞍捞 滚欺客 弊 农扁甫 扒匙搁 等促.
class CQueue
{
public:
BYTE buff[BUFF_SIZE];//钮 滚欺 荤捞令绰 4192肺 父惦
int m_iHead, m_iTail;//钮 滚欺俊 单捞磐甫 持绊 哗 棵锭 荤侩且 函荐
CQueue();
void Clear();//滚欺甫 檬扁拳 矫糯
int GetSize();//泅犁 滚欺俊 甸绢乐绰 单捞磐狼 size甫 府畔
BOOL PutByte(BYTE b);//钮滚欺俊 1官捞飘甫 持澜
BOOL GetByte(BYTE *pb);//钮滚欺俊辑 1官捞飘甫 哗 咳
};
class CCommThread
{
public:
CCommThread();
~CCommThread();
//--------- 券版 函荐 -----------------------------------------//
BOOL check;
HANDLE m_hComm; // 烹脚 器飘 颇老 勤甸
CString m_sPortName; // 器飘 捞抚 (COM1 ..)
BOOL m_bConnected; // 器飘啊 凯啡绰瘤 蜡公甫 唱鸥晨.
OVERLAPPED m_osRead, m_osWrite; // 器飘 颇老 Overlapped structure
HANDLE m_hThreadWatchComm; // Watch窃荐 Thread 勤甸.
WORD m_wPortID; // WM_COMM_READ客 窃膊 焊郴绰 牢荐.
CQueue m_QueueRead; //钮滚欺
//--------- 寇何 荤侩 窃荐 ------------------------------------//
BOOL OpenPort(WORD wPortID,CString strPortName, DWORD dwBaud );//器飘 凯扁
void ClosePort(); //器飘 摧扁
DWORD WriteComm(BYTE *pBuff, DWORD nToWrite);//器飘俊 单捞磐 静扁
//--------- 郴何 荤侩 窃荐 ------------------------------------//
DWORD ReadComm(BYTE *pBuff, DWORD nToRead);//器飘俊辑 单捞磐 佬绢坷扁
};
// Thread肺 荤侩且 窃荐
DWORD ThreadWatchComm(CCommThread* pComm);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -