【串口通信】——入门篇,简单了解

原创 2013年12月04日 21:48:55

    最近在研究串口通信,通过自己这几天的研究,颇有些心得,当然这个时候还是想到和大家一起分享我的实现过程。首先我要说明的是我是用vb.net 实现的。如果是有关vb.net的语法问题不懂得这里我不做解释。

 

【一】、为什么要学习使用串口通信:

 

    计算机与外设或计算机之间的通信通常有两种方式:并行通信和串行通信。并行通信指数据的各位同时传送。并行方式传输数据速度快,但占用的通信线多,传输数据的可靠性随距离的增加而下降,只适用于近距离的数据传送。串行通信是指在单根数据线上将数据一位一位地依次传送。发送过程中,每发送完一个数据,再发送第二个,依此类推。接受数据时,每次从单根数据线上一位一位地依次接受,再把它们拼成一个完整的数据。在远距离数据通信中,一般采用串行通信方式,它具有占用通信线少、成本低等优点。

 

【二】、串口通信与USB接口的对比:

 

  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的串口(COM1COM2)。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。

 

【四】、串口通信的原理:

 

     串口通信(SerialCommunications)的概念非常简单,串口按位(bit)发送和接收字节(第一段也有涉及)。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总长不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。典型地,串口用于ASCII码字符的传输。通信使用3根线完成,分别是地线、发送、接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验(这几个重要的参数在我的文章中没有)。对于两个进行通信的端口,这些参数必须匹配,否则无法通信。



【五】、本文定位:

    本文的内容大部分是摘自百度百科,本文最适合两种人阅读,一、从来没有接触过串口通信的人。通过这篇文章可以有一个大概的了解;二、正在摸索使用串口通信的人,这种人往往查看了好多的资料,但是总是存在很多的疑惑,正好本文对串口通信的最基本的知识进行总结,以及摆明了串口通信的使用价值和地位,接下来我会写系列文章来带大家一点点的入门。

    如果你正在被串口通信而苦恼多日,不妨回来我们一起回味一下这篇文章。


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

java使用rxtx串口通信配置及简单示例

java使用rxtx串口通信配置及简单示例 1下载          官方地址:http://rxtx.qbang.org/wiki/index.php/Download,官方下载地址中有版本和类...

基于Spartan-6平台简单实现异步fifo与UART串口通信的联合使用

UART(即Universal Asynchronous Receiver Transmitter 通用异步收发器)是广泛使用的串行数据传输协议。UART允许在串行链路上进行全双工的通信。  串行外设...

C# 一个C#串口通信的简单调试工具

这个小工具是小弟两年前写的,代码可能有点

VS2008基于对话框的MFC上位机串口通信(C++实现)简单例程

首先,在 vs2008 环境下创建 MFC 运用程序 设置项目名称为 ComTest(这个地方随意命名,根据个人习惯),点击确定后,点击下一步 出现如下界面 选择“基于对话框”模式然后直接点击完成...

OHSCE入门教程(三)-PHP串口通信、构建高可靠性的总线应用。

(写于OHSCE_V0.1.25)    终于等到这篇文章了吧,其实之所以先写了TCP/UDP的是因为在现在的环境下它俩是相辅相成的,其实在控制领域我们所说的TCP/UDP和串口总线应用非常接近,和...

记录一次简单的STM32串口通信使用printf发送数据到屏幕,并测试SHA512算法。

最近学习嵌入式,很多地方理解的不是很清楚,多亏周工指点,才能让我进一步的理解嵌入式,谢谢! 今天我们要输出的文件是一个sha512.c程序中的算法,并打印在屏幕上(开发环境keil5) 在STM3...

串口通信之简单协议-----结构体的发送

吃饭完了再来写哟!吃了两碗泡面,和迪哥聊了会,接着干活啊。 我的这个例子其实就是把单片机和PC机之间要传送的内容打包成一个结构体,结构体的各个成员分别充当不同的角色(指令号,指令参数)所以关键在于结构...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)