[转载]如何添加CSerialPort类以及相应的消息函数
答案:1 悬赏:0
解决时间 2021-11-28 04:37
- 提问者网友:饮鸿
- 2021-11-27 17:56
[转载]如何添加CSerialPort类以及相应的消息函数
最佳答案
- 二级知识专家网友:茫然不知崩溃
- 2021-11-27 18:41
Step2:在Dlg.h中定义CSerialPort类对象,这里定义的类对象为m_SerialPort,在定义一个布尔型的变量m_bSerialPortOpened
用来标志串口是否打开。在CSerialPort类中有多个串口事件可以响应,在一般的串口编程中,只需要处理WM_COMM_RXCHAR消息就可以了,该类的所有消息均需要人工添加消息处理函数。将处理函数名定义为OnComm(),首先在Dlg.h中添加字符接收消息WM_COMM_RXCHAR(串口接收缓冲区内有一个字符)的响应函数声明:
// Generated message map functions
//{{AFX_MSG(CV2Dlg)
afx_msg LONG
OnComm(WPARAM ch,LPARAM port);
//}}AFX_MSG
在Dlg.cpp文件中进行WM_COMM_RXCHAR消息映射:
BEGIN_MESSAGE_MAP(CV2Dlg, CDialog)
//{{AFX_MSG_MAP(CV2Dlg)
ON_MESSAGE(WM_COMM_RXCHAR,OnComm)
//}}AFX_MSG_MAP
在Dlg.cpp文件中加入函数OnComm()的实现,并在其中完成对接收到字符的处理。LONGCV2Dlg::OnComm(WPARAM ch,LPARAM port){……return 0;}
好了,这样就完成了这个类的添加了。个人感觉这个类还是不错的,至少比VC上带的控件要好很多,很容易掌握的。
用来标志串口是否打开。在CSerialPort类中有多个串口事件可以响应,在一般的串口编程中,只需要处理WM_COMM_RXCHAR消息就可以了,该类的所有消息均需要人工添加消息处理函数。将处理函数名定义为OnComm(),首先在Dlg.h中添加字符接收消息WM_COMM_RXCHAR(串口接收缓冲区内有一个字符)的响应函数声明:
// Generated message map functions
//{{AFX_MSG(CV2Dlg)
afx_msg LONG
OnComm(WPARAM ch,LPARAM port);
//}}AFX_MSG
在Dlg.cpp文件中进行WM_COMM_RXCHAR消息映射:
BEGIN_MESSAGE_MAP(CV2Dlg, CDialog)
//{{AFX_MSG_MAP(CV2Dlg)
ON_MESSAGE(WM_COMM_RXCHAR,OnComm)
//}}AFX_MSG_MAP
在Dlg.cpp文件中加入函数OnComm()的实现,并在其中完成对接收到字符的处理。LONGCV2Dlg::OnComm(WPARAM ch,LPARAM port){……return 0;}
好了,这样就完成了这个类的添加了。个人感觉这个类还是不错的,至少比VC上带的控件要好很多,很容易掌握的。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯