最近在研究串口通信,通过自己这几天的研究,颇有些心得,当然这个时候还是想到和大家一起分享我的实现过程。首先我要说明的是我是用vb.net 实现的。如果是有关vb.net的语法问题不懂得这里我不做解释。
计算机与外设或计算机之间的通信通常有两种方式:并行通信和串行通信。并行通信指数据的各位同时传送。并行方式传输数据速度快,但占用的通信线多,传输数据的可靠性随距离的增加而下降,只适用于近距离的数据传送。串行通信是指在单根数据线上将数据一位一位地依次传送。发送过程中,每发送完一个数据,再发送第二个,依此类推。接受数据时,每次从单根数据线上一位一位地依次接受,再把它们拼成一个完整的数据。在远距离数据通信中,一般采用串行通信方式,它具有占用通信线少、成本低等优点。
USB是英文 Universal SerialBus 的缩写,翻译成中文的含义是“通用串行总线”。 从技术上看,USB是一种串行总线系统,它的最大特性是支持即插即用和热插拔功能。在Windows2000的操作系统中,任何一款标准的USB设备可以在任何时间、任何状态下与计算机连接,并且能够马上开始工作。
USB诞生于1994年,是由康柏、IBM、Intel和Microsoft共同推出的,旨在统一外设接口,如打印机、外置Modem、扫描仪、鼠标等的接口,以便于用户进行便捷的安装和使用,逐步取代以往的串口、并口和PS/2接口。
大家看到这里可能会觉得USB接口完胜原始串口了。但是我们为什么还要学习串口编程呢。
USB接口和原始串口(三个EIA标准)的对比:
目前在IT领域,USB接口可谓春风得意。人们在市场上可以看到,每一款计算机主板都带有不少于2个USB接口,USB打印机、USB调制解调器、USB鼠标、USB音箱、USB存储器等产品越来越多,USB接口已经占据了串行通信技术的垄断地位。
但是,在工业领域,使用USB接口的产品则甚为少见。在工业领域,人们更要求产品的可靠性和稳定性,目前,EIA标准下的串行通信技术完全可以满足人们对工业设备传输的各种性能要求,而且,这些产品价格非常低廉。相比之下,USB价格较高,并且其即插即用的功能在工业通信中没有优势。因为工业设备一般连接好以后很少进行重复插拔,USB特性的优越性不能很好地被体现出来,也就得不到工业界的普遍认可。因此,在工业领域,EIA标准依然占据统治地位。
串行接口是一种可以将接受来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接受的串行数据流转换为并行的数据字符供给CPU的器件。一般完成这种功能的电路,我们称为串行接口电路。
串口通信是指外设和计算机间,通过数据信号线、地线、控制线等,按位进行传输数据的一种通讯方式。这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,但其传输速度比并行传输低。
串口是计算机上一种非常通用的设备通信协议。大多数计算机(不包括笔记本电脑)包含两个基于RS-232的串口(COM1和COM2)。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。
串口通信(SerialCommunications)的概念非常简单,串口按位(bit)发送和接收字节(第一段也有涉及)。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总长不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。典型地,串口用于ASCII码字符的传输。通信使用3根线完成,分别是地线、发送、接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验(这几个重要的参数在我的文章中没有)。对于两个进行通信的端口,这些参数必须匹配,否则无法通信。
本文的内容大部分是摘自百度百科,本文最适合两种人阅读,一、从来没有接触过串口通信的人。通过这篇文章可以有一个大概的了解;二、正在摸索使用串口通信的人,这种人往往查看了好多的资料,但是总是存在很多的疑惑,正好本文对串口通信的最基本的知识进行总结,以及摆明了串口通信的使用价值和地位,接下来我会写系列文章来带大家一点点的入门。
如果你正在被串口通信而苦恼多日,不妨回来我们一起回味一下这篇文章。