资源描述:
《串口通信与网络通信的应用研究的论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、串口通信与网络通信的应用研究的论文 摘要:该文通过可移动摄像头控制系统,探讨了以平台上的基本功能。 关键词:嵌入式;socket;串口通信;网络通信 本文的背景是研究通过对摄像头的远程控制从而对运动图像加以采集和处理。该系统的音视频编解码部分,是基于9平台上,arm平台作为server端在接收到client端发送的命令后,通过串口发送命令来控制摄像头。 1串口通信 1.1linux下串口通信基本原理 linux系统将设备和文件的操作都作为对文件的处理,所以对设备的操作,内核会返回一个文件描述符,需要将其作为参数传给相对应的函数。linu
2、x中所有的设备文件都放在“/dev”目录下,通过“ttys+编号”命名相应的串口资源,所以对应路径是“/devttys*”。因而可以相对文件读写那样访问一个串口设备。 1.2linux下的串口设置 首先要对串口进行设置,在termios.h完成对波特率等的设置。. structtermios {tcflagtciflag; tcflagtcoflag; tcflagtccflag; tcflagtclflag; cctccc[nccs]; }; open()函数:intfd=open("/dev/ttys*",ordsg(int
3、pan,inttilt) {structtimevaltimeout; staticchar*driver="/dev/ttys1"; timeout.tv_sec=0; timeout.tv_usec=0; formcmd(buf,pan,tilt); fd=uart_open(driver,b9600); ain,inttype,intprotocol); 2)配置socket:bind函数指定本地信息intbind(intsocket,conststructsockaddr*address,size_taddress_len)
4、; 3)使用listen()和accept()函数获取远端信息: intlisten(intsocket,intbacklog); intaccept(intsocket,structsockaddr*address,size_t*address_len); 4)通信处理:send(),,0); addrsrv.sin_addr.s_un.s_addr=i_addr("192.168.1.10"); ,0); server_address.sin_addr.s_addr=i_addr("192.168.1.10"); bind(se
5、rver_sockfd,(structsockaddr*)server_address,server_len); listen(server_sockfd,5); client_sockfd=accept(server_sockfd,(structsockaddr*)client_address,client_len); while(1) read(client_sockfd,str,16); close(client_sockfd); } 3结束语 本文设计了基于嵌入式平台上可移动摄像头远程控制,对串口通信和网络通信的原理和机制加
6、以阐述,对串口驱动和网络驱动的编写提出了具体的方法,并且在实际的操作应用中给出了具体函数的编写。本文所提供的处理方法已在实际的项目中的得到应用,对于其他的通过串口通信和网络通信控制的设备,具有参考意义,今后我们还将展开进一步的相关研究。