串口通信与网络通信的应用研究

来源 :中国新通信 | 被引量 : 0次 | 上传用户:yanhsy
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  一、串口通信
  1.1 Linux下串口通信基本原理
  Linux系统将设备和文件的操作都作为对文件的处理,所以对设备的操作,内核会返回一个文件描述符,需要将其作为参数传给相对应的函数。Linux中所有的设备文件都放在“/dev”目录下,通过“ttyS+编号”命名相应的串口资源,所以对应路径是“/devttyS*”。因而可以相对文件读写那样访问一个串口设备。
  1.2 Linux下的串口设置
  首先要对串口进行设置,在termios.h完成对波特率等的设置。
  struct termios
  {tcflag t c iflag;
  tcflag t c oflag;
  tcflag t c cflag;
  tcflag t c lflag;
  cc t c cc [NCCS];
  };
  open( )函数:int fd = open ("/dev/ttyS *", O RDWR|O NOCTTY|O NDELA Y);
  然后调用read( )和write( )函数读写端口,返回实际读写的字节数,如果有错误发生则返回-1。
  读取串口结束后,首先恢复串口原始属性,然后才可以关闭串口并退出程序。
  1.3 串口控制应用程序
  下面给出通过串口控制摄像头函数的一部分结构:
  void sendMsg(int pan,int tilt)
  {struct timeval timeout;
  static char *driver = "/dev/ttyS1";
  timeout.tv_sec = 0;
  timeout.tv_usec = 0;
  formCmd(buf,pan,tilt);
  fd = uart_open(driver,B9600);
  write(fd,buf,16);
  close(fd);
  }
  二、网络通信
  2.1 Socket基本原理介绍
  Socket是一种通信机制,客户/服务器系统既可以在本地单机上运行,也可以在网络中运行。
  首先需要了解socket中的一些重要函数:(1)创建Socket:int socket( intdomain, inttype, intprotocol);(2)配置Socket:bind函数指定本地信息int bind( intsocket, const structsockaddr* address, size_taddress_len);(3)使用listen( )和accept( )函数获取远端信息:Int listen(int socket, int backlog);Int accept(int socket, struct sockaddr* address, size_t* address_len);(4)通信处理:send( ),write( ),recv( ),read( )。(5) 通信结束:使用closesocket( )。
  2.2 Windows和Linux下socket应用程序
  客户端程序:创建一个未命名的套接字,然后把它连接到服务器套接字server_socket上,向服务器写一个字符,再读回经服务器处理后的一个字符。
  服务器端程序:首先创建一个服务器套接字,绑定到一个名字,然后创建一个监听队列,接收来自客户程序的连接。下面我们分别在Windows和Linux下进行socket编程,实现二者之间的通信,具体函数实现的主要部分如下:
  Windows下作为client端:
  {
  SocketClient=socket(AF_INET,SOCK_STREAM,0);
  addrSrv.sin_addr.S_un.S_addr=inet_addr("192.168.1.10");
  while(1)
  send(SocketClient,sendBuffer,16,0);
  closesocket(SocketClient);
  WSACleanup();
  }
  Linux下作为server端:
  {
  server_sockfd = socket(AF_INET, SOCK_STREAM, 0);
  server_address.sin_addr.s_addr = inet_addr("192.168.1.10");
  bind(server_sockfd, (struct sockaddr *)&server_address, server_len);
  listen(server_sockfd, 5);
  client_sockfd = accept(server_sockfd, (struct sockaddr *)&client_address, &client_len);
  while(1)
  read(client_sockfd, str,16);
  close(client_sockfd);
  }
  三、结束语
  本文设计了基于嵌入式平台上可移动摄像头远程控制,对串口通信和网络通信的原理和机制加以阐述,对串口驱动和网络驱动的编写提出了具体的方法,并且在实际的操作应用中给出了具体函数的编写。本文所提供的处理方法已在实际的项目中的得到应用,对于其他的通过串口通信和网络通信控制的设备,具有参考意义,今后我们还将展开进一步的相关研究。
其他文献
面对突如其来的塌方,六名儿童惊慌失措,未来得及逃离现场,就被无情的土堆深埋,一场不该发生的事故发生了——
2002年3月14日,省消防总队张增慧副总队长在全省消防部队宣传贯彻公安部61号令培训班上,着重就制定《机关、团体、企业、事业单位消防安全管理规定》的意义和如何贯彻落实问题
根据邓小平同志提出的“科学技术是第一生产力”的科学论断,我们可以说,社会科学不仅是生产力,而且是关键的第一生产力,是经济社会发展和生产力系统运动变化的客观反映和科学
随着社会进入网络时代,信息网络已影响到社会的各个领域,高校德育工作面临前所未有的机遇与挑战。本文就网络对大学生的影响、网络社会高校德育工作面临的挑战、网络社会为高校
语法形式和其代表的含义——从判定asif从句的虚实谈起陶瑞荣超过任何语法形式的重要性的是说话者的含义,即他的意图。王佐良:《词义·文体·翻译》本文是由以下句子的虚实
【摘要】 随着通信网络的飞速发展,网络环境日趋复杂,来自多方面的信息干扰也日益增多,如何提高通信网络的抗干扰能力是当前通信网络中的一个研究热点。本文首先对通信网络中存在的干扰进行了讨论和总结,进而对当前所应用的抗干扰技术进行了分析和阐述。  【关键词】 通信网络 网络环境 抗干扰  无线空间内传播的电磁信号越来越多,自然环境逐渐恶劣,人为破坏日益严重等使得通信网络不得不面多来自多方面的,多种多样的
【摘要】 煤矿里面有55%-65%是机电设施和设备,占煤炭生产成本40%的就有花费的油脂、工资、能耗、维修费用、配件等。所以,在维修和维护煤矿的机电设备,会成为煤矿企业的一项管理工作和重要技术。本文首先分析了目前煤矿机电设备管理与维修中出现的问题,其次,结合笔者的实际工作经验,就如何加强煤矿机电设备的维修与管理进行了深入的探讨,提出了自己的建议和看法,具有一定的参考价值。  【关键词】 煤矿 机电
本文拟从教育心理学的学习动机种类的理论划分中的“性格动机和情境动机”入手,探究高职生情境动机构筑的切入点。
在社会主义市场经济体制初步确立的今天,各级党组织为更好地服务于经济建设这个中心,有必要进一步认识思想政治工作的地位和作用,进而探索做好思想政治工作的原则与方法,充分
【摘要】如果说煤炭是工业的黑色血液,那么电力则是工业和现代人民生活的大动脉,随着人民生活水平和社会经济、科技的不断发展。电力部门已经形成了电力网。所以电网调度系统随着电力系统的发展而诞生,但是由于近几年来,我国电力行业发展速度过快,电网的调度系统往往跟不上电力系统的发展。所以,在电网调度系统存在着许多问题。本文就通过对电网调度系统的安全管理简单的分析,从几个方面来论述一下电网调度中存在的问题。