CSerialIO--串口控件

一、介绍

CSerialIO实现一个对串口读写的类,有一个线程负责处理对串口数据的读写,只需要简单调用CSerialIO提供的API就可以侦听串口的数据。

二、背景

目前网上有同步和异步的串口读写控件,需要用户去定时的或者启动一个线程去读取数据,所以我实现的这个串口读写类时已经封装了一个线程来处理读写数据,用户可以基于自己的应用来处理读写、打开和关闭串口事件。


三、如何使用

class CSerialIO{

public:

     CSerialIO();

     virtual ~CSerialIO();

     void OpenPort(CString strPortName,CString strBaudRate);//打开串口

     virtual void OnEventOpen(BOOL bSuccess); //打开串口成功与否的响应事件

     void ClosePort();//关闭串口

     virtual void OnEventClose(BOOL bSuccess);//关闭串口成功与否的响应事件

     virtual void OnEventRead(char *inPacket,int inLength);//串口读取数据处理事件

     void Write(char *outPacket,int outLength); //串口写数据

     virtual void OnEventWrite(int nWritten);//串口写数据的响应事件,nWritten<0表示写出错,否则表示实际写的数据字节数。

    …

};

CSerialIO 主要是提供7个API,用户的应用如果是基于窗口,可以继承该类来处理这几个事件,然后在窗口上表现出来。

 

四、实践结果

  源码里基于CSerialIO类实现了一个demo,如图1所示,里面处理读写串口成功与否的事件,关闭串口事件,及读写事件。

 

图一:串口控件操作界面

五、结束语

目前很多设备还是基于串口通信的,对串口操作的场景经常是需要一直侦听串口发来的数据,根据读到的数据来决定发什么命令给设备,所以CSerialIO类很方面用户来处理以上这种场景。

 

参考链接:http://blog.csdn.net/moruite/article/details/5850755

代码链接:http://www.codeproject.com/Articles/99375/CSerialIO-A-Useful-and-Simple-Serial-Communication

转载于:https://www.cnblogs.com/klcf0220/articles/4056973.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值