笔记整理:
原类地址:http://www.codeguru.com/network/serialport.shtml
基于多线程,工作流程:首先设置好串口参数,再开启串口监测线程,串口监测线程监测到串口接收到的数据,流控制事件,以消息方式通知主程序激发消息处理函数进行数据处理,发送数据可直接向串口发送。
重要函数:InitPort() StartMonitoring() StopMonitoring() ClosePort() WriteToPort()
使用方法:首先加入该类文件
而后在所建立工程主对话框或视类头文件中加入该类的对象
接着人工添加消息处理函数,其消息定义在该类头文件中,消息处理函数定义仿照MFC的方法。
例:WM_COMM_RXCHAR消息处理函数:
首先在对话框头文件中
// Generated message map functions
//{{AFX_MSG(CSerialPortTestdataDlg)
afx_msg LONG OnComm(WPARAM ch, LPARAM port);//为使用CSerialPort类自定义的消息循环
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
而后在实现文件中加入消息映射和函数的实现
BEGIN_MESSAGE_MAP(CSerialPortTestdataDlg, CDialog)
//{{AFX_MSG_MAP(CSerialPortTestdataDlg)
ON_MESSAGE(WM_COMM_RXCHAR,OnComm)//添加相应消息映射
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
LONG CSerialPortTestdataDlg::OnComm(WPARAM ch, LPARAM port)
{
...}