Chinaunix首页 | 论坛 | 博客
  • 博客访问: 61585
  • 博文数量: 14
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 130
  • 用 户 组: 普通用户
  • 注册时间: 2015-03-21 13:33
个人简介

业精于勤,荒于嬉;行成于思,毁于随。

文章分类

全部博文(14)

分类: 嵌入式

2015-04-14 21:32:51

嵌入式设备间的通信主要以串口通信与网络通信为主。下面将分别介绍这两种通信方式。

首先介绍关于串口通信的一些常识。第一,串口通信是一种串行通信方式,其特点是传输速度慢,节约端口号,与之相对的是并行通信,占用多个端口号,同时进行传输,所以其传输速度快,占用端口资源。第二,串口通信是一种双工的通信方式,所谓的双工,即在同一时刻可以进行双向传输。除了双工,还有半双工(可以进行双向传输,但同一时刻只能A传输给BB传输给A),单工(进行单向传输)。第三,串口通信是一种异步通信,异步通信所发送字符的时间间隙的任意的,与之相对的是同步通信,通信通信要求收发的双方具有同频同相的同步时钟。第四,串口通信一般需要双方进行如下参数的设置:

波特率:单位时间内传输的比特位。

数据位:通信中实际有需要传输信息的位长。

停止位:用于停止接收一个单包数据。

奇偶校验位:一种简单的检测方式附带位。

开发串口程序,一般都要用到串口助手。串口通信相关的内容就介绍到这里。接下来介绍网络通信。

网络通信有很多协议,而这里主要集中介绍关于TCP/IP协议的网络通信。网络通信根据连接的行为分为服务端和客户端。服务端是被动连接端,客户端是主动连接端。网络通信根据连接的方式又分为长连接和短连接。长连接的意思就是建立通信一种保持通信,直到程序结束或者异常才会导致连接断开。短连接则是需要传输数据时,建立短暂的连接,一旦数据传输结束,则连接也主动断开。具体选用长连接还是短连接,得根据需要发送数据的要求来确定。长连接比较耗流量,但数据实时性较强。短连接相对流量比较少,适合相互交换不太频繁的场合。当需要通过短连接进行双向连接时,双方都应该同时拥有服务端和客户端的线程。例如有两台设备A与设备B,当A要把数据传输给B时,则A作为客户端,B作为服务端。同理,当B要传输数据给A时,则B作为客户端,A作为服务端。

服务端编程主要包括设置服务端ip,端口号,绑定socket,然后进入监听。客户端需要设置连接服务端的ip,端口号,然后去连接服务端。开发网络通信程序,一般都要用到网络调试助手,有时也需要使用抓包工具对收发的数据进行分析。

嵌入式设备有时会使用“网络-串口”模块,即实现网络链路到串口链路和串口链路到网络链路的直接的转换。这样的模块往往需要进行参数设置,这些参数是为了与串口参数一致性而设置的,即要实现模块里面的串口参数与外接串口参数相一致。设备通过串口与“网络-串口”模块连接,这样的设备既能设置为服务端也能设置为客户端,当模块为服务端,设备则扮演服务端的角色。当模块为客户端,设备则扮演客户端的角色。

     本文乃黎社林原创文章,请勿转载。如须转载请详细标明转载出处

 

 

阅读(2111) | 评论(0) | 转发(0) |
0

上一篇:Linux开始篇

下一篇:智慧产品架构概述

给主人留下些什么吧!~~