VC下进行串口开发的简单说明

前言:在VC环境下进行串口开发的方式有很多,如可以用微软自带的Mscomm控件、win32方式利用CreateFile函数操作串口、还可以利用moxa公司的串口库pcomm进行开发等方式。在本例中,笔者将以另一个更简单、好用的串口库来说明VC环境下的串口开发。

本例中要介绍的CnComm是一个很好的串口库,使用时只需要引用CnComm.h这个头文件即可,(CnComm头文件下载),避免了使用其他库,如pcomm时需要配置dll、lib库的复杂设置。下面简要介绍一下VC环境下,利用CnComm这个串口库进行串口开发的简要步骤。

1.第一个步骤当然是把CnComm.h这个头文件包含到当前工程中。

2.在父类CnComm上派生出一个子类,例如

class MyComTest:public CnComm
{
public:
	MyComTest();
};

    3.在派生类里添加串口发送、接收函数

    (注意,接收消息处理函数OnReceive名称不要更改,用OnReceive就好,发送函数SendMsg函数名任意)

class MyComTest:public CnComm
{
public:
	MyComTest();
	void SendMsg(char *buf);
	void OnReceive();
};
完成发送、接收函数的实现。
void MyComTest::SendMsg(char *buf)
{
	Write(buf);
}
void MyComTest::OnReceive()
{
	char buf[1024];
	Read(buf,1024);
}
4.在主窗口类中,定义一个MyComTest类的对象,并设置窗口句柄

MyComTest m_com;//参数默认就行,默认打开串口时启动监视线程 异步重叠方式

在主窗口中为m_com对象设置串口句柄

m_com.SetWnd(this->m_hWnd);//没有此步骤,无法响应串口接收OnReceive函数

5.打开串口

m_com.open(nCom);//nCom为串口号,如假如nCom=1,表示打开COM1

如需要对串口参数进行配置,在串口打开情况下,进行如下操作

m_com.SetState(sSetting);//sSetting为字符串类型,如假如sSetting="115200,n,8,1",波特率115200,无校验方式,8个数据位,1个停止位

6.关闭串口

m_com.close;
当然,上面说的只是串口操作的一个简单构架,真正要在自己的工程里实现串口操作,还有许多地方要完善。这些就需要根据具体情况来定了,不过万变不离其宗,掌握了基本原理,一切都好办了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值