深入浅出Visual C++串口编程

2018-12-23 13:07

深入浅出Visual C++串口编程



  ·串口通信是Windows应用软件开发的重要环节,除了普通的通信软件外,还在工业控制领域有广泛的用途,因此掌握串口编程是每个程序员的必备技巧。

  ·无庸讳言,目前网上有不少介绍串口通信的文章和代码,但对广大读者而言,缺少入门的、系统的介绍串口编程的教程,因此小编组织了这个教程,它将填补这方面的空白。

  RS-232C接口,1970年由美国电子工业协会联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定,全名是数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准。本期教程将对DOS平台的串口编程,及Windows平台下基于API、控件和第三方类的串口编程进行介绍。

  在PC机的主板上,有一种类型的接口可能为我们所忽视,那就是RS-232C串行接口,在微软的Windows系统中称其为COM。本质而言,COM是PC为和外界通信所提供的一种串行数据传输的接口。[

  在DOS平台下,操作串口主要有下列方式:通过BIOS调用、通过串口的硬件中断或通过对串口硬件进行轮询,本章将对以上三种方式进行具体的介绍并给出例子。[

  在WIN32 API中,串口使用文件方式进行访问,其操作的API基本上与文件操作的API一致。[

  Visual C++为我们提供了一种好用的ActiveX控件Microsoft Communications Control(即MSComm)来支持应用程序对串口的访问,在应用程序中插入MSComm控件后就可以较为方便地实现对通过计算机串口收发数据。[

  MScomm控件的使用有诸多不便,譬如其发送和接收数据都要进行VARIANT类型对象与字符串的转化等。因此,国内外许多优秀的程序员自己编写了一些串口类,使用这些类,我们将可以更方便的操作串口。[

  前面数次连载我们以较长的篇幅讲解了串口通信的硬件原理、DOS平台控制以及基于WIN32 API、控件和第三方类的串口编程。作为本系列文章的最后一次连载,本章将给出一个典型的应用实例:西门子短信服务模块TC35的串口控制。[

  ·天极开发者网络倾情奉献:/div

  在中小型电站系统就地控制中,比如水电站中如果我们要进行各种设备控制的话,串口数量就可能比较多了,有的地方加上载波甚至可以达到10个以上。[

  最近我在用电台对外发送数据以及接收数据的时候,遇到了一个很棘手的问题,最后用示波器才找到了解决问题的办法,在此特写此文章,以避免大家再出现这样的问题而没法解决了,如有不对,还请多多指教。[

  本文介绍了使用Visual C++开发使用接收机与PC机通信的接口程序,利用ActiveX控件来简化程序设计难度的方法,并给出了详细的实现方法,具有一定的实用意义。[

  在Windows下不能直接对设备端口进行操作,也不能在系统级使用任何DOS或BIOS中断,如要对端口进行编程则只能以文件的形式来对端口进行操作,这就使开发人员不得不面对非常烦琐的API函数编程。 [

  在现代的各种实时监控系统和通信系统中,在Windows 9X/NT下利用VC++对RS-232串口编程是常用的手段。本文以动态连接库形式实现对多串口的操作,MSCOMM控件在基于文档的程序中不能直接使用该控件,且生成的可执行文件不能适用于不同的计算机。 [

  * 网友发言均非本站立场,本站不在评论栏推荐任何网店、经销商,谨防上当受骗!

  Win10系统在Win8的基础上对界面、特性以及跨平台方面做了诸多优化。[详细]

  三星Galaxy S10+跑分首曝,也是Exynos9820首秀,安兔兔超32.5万

  国产AI服务器的“变形金刚”曙光XMachine如何“炼成十八般武艺”

  经济环保 Brother DCP-B7530DN激光打印机售价2149元

  GTC China 2018:AMAX重磅推出类脑智能计算一体机联合解决方案