如何添加CSerialPort类以及相应的消息函数

本文详细介绍了如何在VC环境中使用CSerialPort类实现串口通信的过程。从添加类文件到处理串口接收消息WM_COMM_RXCHAR,一步步指导读者完成串口编程。此方法简单易懂,适合初学者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Step1:

    将类文件SerialPort.cpp和SerialPort.h复制到工程所在的文件夹中,然后点击VC菜单上的Project->Add to Project->Files,再在打开的对话框里选择上面的两个文件,单击OK,就把类文件加入了当前工程,在Dlg.h中添加SerialPort.h说明:#include"SerialPort.h",完成这个类的加入。

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()的实现,并在其中完成对接收到字符的处理。

    LONG CV2Dlg::OnComm(WPARAM ch,LPARAM port)
    {

      ……

      return 0;
     }

    好了,这样就完成了这个类的添加了。个人感觉这个类还是不错的,至少比VC上带的控件要好很多,很容易掌握的。如何添加CSerialPort类以及相应的消息函数

原文地址:http://blog.sina.com.cn/s/blog_4c8287230100as4s.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值