封装较完整的串口类库

串口在工业应用是极为普遍的,我用API封装了同步和异步的串口类,以及一个具有监视线程的异步串口类;使用简单高效,具有工业强度,我在BC, BCB, VC, BCBX, GCC下编译通过,相信足够应付大多数情况,而且还可以继承扩展,下面简单介绍使用方法;

库的层次结构:

_base_com:虚基类,基本接口,可自行扩展自己的串口类;

_sync_com:_base_com 的子类, 同步应用,适合简单应用;

_asyn_com:_base_com 的子类, 异步应用(重叠I/O),适合较高效应用,NT平台;

_thread_com:_asyn_com 的子类, 异步应用,具有监视线程,适合较复杂应用,窗口通知消息和继承扩展的使用方式;

一些应用范例 :

当然首先 #include "com_class.h"

一、打开串口1同步写

char str[] = "com_class test";
  _sync_com com1;  //同步
  com1.open(1); // 相当于 com1.open(1, 9600); com1.open(1, "9600,8,n,1");
  for(int i=0; i<100; i++)
  {
    Sleep(500);
    com1.write(str); //也可以 com1.write(str, strlen(str));
  }
  com1.close();

本文配套源码

时间: 2025-01-30 10:06:44

封装较完整的串口类库的相关文章

串口类库的第二个版本

上一回我发表第一版本的串口类库,收到了不少来信 ,提了不少意见和问题.我前一段时间又对这段代码作了修正,改动较大,主要思路没变,但更加规范并修改了几个错误.这次代码是完全按WIN32命名规范,适合用于VC++的开发,以前我一直用SDK,,用C风格的命名方式,将代码与VC程序整合看起来有点别扭,这次就不会了. 几个变动 一个缺陷,前一段时间我在2000下用8串口卡发现第10个串口打不开,查了MSDN找到了原因,这里我做了修正.在NT/2000下 原来的代码打开编号10以上端口用 :CreateFi

asp.net 一个封装比较完整的FTP类_实用技巧

先看这个简单的 复制代码 代码如下: FTP ftp = new FTP("192.168.1.117", "ahuinan", "123456"); string oldname = this.FileUpload1.PostedFile.FileName; string newname = dd + h + mm + ss + oldname.Substring(oldname.LastIndexOf(".")); //

C#开发串口总结,并提炼串口辅助类到公用类库中

开发C#相关的项目有很多年了,一直没有接触串口的开发,近期由于工作的需要,需要了解熟悉对硬件串口的开发,通过对串口的深入了解,串口也不再是什么神秘的东西,利用SerailPort组件,对串口的各种操作也非常的方便,由于本人总是喜欢把一些常用的东西封装成可供重复利用的类库,因此,阅百家代码,提炼总结优化,把对串口的操作封装成一个公用的类库,应付日常的串口编程开发,也算是工作的一个阶段性总结吧. 先上图,了解串口的一些基本的东西,并逐步介绍相关的知识.   微软在 .NET FrameWork2.0

采用JSI封装、集成第三方类库

Java的成功,离不开它那个庞大的类库,不单是sun的类库,很多细节的实现都取自第三方(如xml解析采用Apache的实现). JSI暂时不算公共API,但是我们可以集成其他成熟的类库,同时隔离他们的依赖,隔离各个脚本的执行上下文,消除命名冲突的危险. 这里我们详细介绍一个复杂一点的实例:类似Windows XP文件浏览器左侧的滑动折叠面板(任务菜单)效果. 我们先集成Scriptaculous Effect类库,并且在这个基础上对一个面板折叠效果做一个简单的封装,展示框架的类库封装功能. 1.

使用VS2010 C#开发ActiveX控件(下),完整代码打包下载_C#教程

其实如果我们不进行设置,只是修改了代码,运行程序以后,其出错界面如下图1所示: 开发ActiveX控件(下),完整代码打包下载_C#教程-vs2010使用教程 c"> 图1 抛出异常如下: ************** Exception Text ************** System.MethodAccessException: Attempt by security transparent method 'Rare.Card.Libary.Controls. ReadCardCo

用.NET编写串口程序的一点心得

程序|心得 虽然在大学的时候学的是计算机专业,但现在的本科生的计算机水平我想大家心里都有数.到单位后闲了很长一段时间.但后来就慢慢开始有了些项目,一开始就是有关串口通信的.难度大了点,但我在的地方是一个不可以轻易说"不"的地方,只好硬着头皮开始干了,为了与时俱进我选择了vs.net2003虽然事实证明成熟的通信协议用成熟的语言(vc6,vb6)可能效果更好些.但为了和新一代编程语言更好的接触,,,,,,, 说起串口通信,无非是create file开串口,write file向串口写数

专家讲解用.NET编写串口程序的一点心得

程序|心得 虽然在大学的时候学的是计算机专业,但现在的本科生的计算机水平我想大家心里都有数.到单位后闲了很长一段时间.但后来就慢慢开始有了些项目,一开始就是有关串口通信的.难度大了点,但我在的地方是一个不可以轻易说"不"的地方,只好硬着头皮开始干了,为了与时俱进我选择了vs.net2003虽然事实证明成熟的通信协议用成熟的语言(vc6,vb6)可能效果更好些.但为了和新一代编程语言更好的接触,,,,,,, 说起串口通信,无非是create file开串口,write file向串口写数

讲解用ASP.NET编写串口程序的一点心得

asp.net|程序|心得 虽然在大学的时候学的是计算机专业,但现在的本科生的计算机水平我想大家心里都有数.到单位后闲了很长一段时间.但后来就慢慢开始有了些项目,一开始就是有关串口通信的.难度大了点,但我在的地方是一个不可以轻易说"不"的地方,只好硬着头皮开始干了,为了与时俱进我选择了VS.net2003虽然事实证明成熟的通信协议用成熟的语言(VC6,VB6)可能效果更好些.但为了和新一代编程语言更好的接触. 说起串口通信,无非是create file开串口,write file向串口

用.NET编写串口程序的心得

虽然在大学的时候学的是计算机专业,但现在的本科生的计算机水平我想大家心里都有数.到单位后闲了很长一段时间.但后来就慢慢开始有了些项目,一开始就是有关串口通信的.难度大了点,但我在的地方是一个不可以轻易说"不"的地方,只好硬着头皮开始干了,为了与时俱进我选择了vs.net2003虽然事实证明成熟的通信协议用成熟的语言(vc6,vb6)可能效果更好些.但为了和新一代编程语言更好的接触,,,,,,, 说起串口通信,无非是create file开串口,write file向串口写数据,read