串口通信和网络通信应用探究

串口通信和网络通信应用探究

ID:31637126

大小:55.63 KB

页数:5页

时间:2019-01-16

串口通信和网络通信应用探究_第1页
串口通信和网络通信应用探究_第2页
串口通信和网络通信应用探究_第3页
串口通信和网络通信应用探究_第4页
串口通信和网络通信应用探究_第5页
资源描述:

《串口通信和网络通信应用探究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、串口通信和网络通信应用探究一、串口通信1.1Linux下串口通信基本原理Linux系统将设备和文件的操作都作为对文件的处理,所以对设备的操作,内核会返回一个文件描述符,需要将其作为参数传给相对应的函数。Linux中所有的设备文件都放在"/dev”目录下,通过"ttyS+编号”命名相应的串口资源,所以对应路径是“/devttyS*”。因而可以相对文件读写那样访问一个串口设备。1.2Linux下的串口设置首先要对串口进行设置,在termios.h完成对波特率等的设置。structtermios{tcflagtciflag;tcflagtcoflag;tcflagtccflag;tc

2、flagtcIflag;cctccc[NCCS];};open()函数:intfd=open(”/dev/ttyS,0RDWR

3、0NOCTTY

4、0NDELAY);然后调用read()和write()函数读写端口,返回实际读写的字节数,如果有错误发生则返回-1。读取串口结束后,首先恢复串口原始属性,然后才可以关闭串口并退出程序。1.3串口控制应用程序下面给出通过串口控制摄像头函数的一部分结构:voidsendMsg(intpan,inttilt){structtimevaltimeout;staticchar^driver二"/dev/ttySI”;timeout・tv_sec=

5、0;timeout・tv_usec=0;formCmd(buf,pan,tilt);fd=uartopen(driver,B9600);write(fd,buf,16);close(fd);}二、网络通信2.1Socket基本原理介绍Socket是一种通信机制,客户/服务器系统既可以在本地单机上运行,也可以在网络中运行。首先需要了解socket中的一些重要函数:(1)创建Socket:intsocket(intdomain,inttype,intprotocol);(2)配置Socket:bind函数指定本地信息intbind(intsocket,conststruetsock

6、addr*address,size_taddress_len);(3)使用listen()和accept()函数获取远端信息:Intlisten(intsocket,intbacklog);Intaccept(intsocket,structsockaddr*address,size_t*address_len);(4)通信处理:send(),write(),reev(),read()o(5)通信结束:使用closesocket()o1.2Windows和Linux下socket应用程序客户端程序:创建一个未命名的套接字,然后把它连接到服务器套接字server_socket上,

7、向服务器写一个字符,再读回经服务器处理后的一个字符。服务器端程序:首先创建一个服务器套接字,绑定到一个名字,然后创建一个监听队列,接收来自客户程序的连接。下面我们分别在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)

8、;closesocket(SocketClient);WSACleanup();}Linux下作为server端:{server_sockfd二socket(AF_INET,SOCK_STREAM,0);server_address・sinaddr.s_addr=inet_addr(”192.168.1.10”);bind(server_sockfd,(structsockaddr*)&server_address,server_len);listen(server_sockfd,5);client_sockfd=accept(server_sockfd,(structsock

9、addr*)&dieaddress,&dielen);wh订e(1)read(client_sockfd,str,16);close(client_sockfd);}三、结束语本文设计了基于嵌入式平台上可移动摄像头远程控制,对串口通信和网络通信的原理和机制加以阐述,对串口驱动和网络驱动的编写提出了具体的方法,并且在实际的操作应用中给出了具体函数的编写。本文所提供的处理方法已在实际的项目中的得到应用,对于其他的通过串口通信和网络通信控制的设备,具有参考意义,今后我们还将展开进一步的相关研究。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。