串口通信與網(wǎng)絡(luò)通信的應(yīng)用研究_第1頁(yè)
串口通信與網(wǎng)絡(luò)通信的應(yīng)用研究_第2頁(yè)
串口通信與網(wǎng)絡(luò)通信的應(yīng)用研究_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

串口通信與網(wǎng)絡(luò)通信的應(yīng)用研究串口通信與網(wǎng)絡(luò)通信的應(yīng)用討論

中國(guó)論文聯(lián)盟*編輯。

串口通信與網(wǎng)絡(luò)通信的應(yīng)用討論

NOCTTY|ONDELAY);

然后調(diào)用read()和write()函數(shù)讀寫端口,返回實(shí)際讀寫的字節(jié)數(shù),假如有錯(cuò)誤發(fā)生則返回-1。

讀取串口結(jié)束后,首先恢復(fù)串口原始屬性,然后才可以關(guān)閉串口并退出程序。

1.3串口掌握應(yīng)用程序

下面給出本系統(tǒng)中一個(gè)通過(guò)串口掌握攝像頭的函數(shù)的一部分結(jié)構(gòu):

voidsendMsg(intpan,inttilt)

{structtimevaltimeout;

staticchar*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網(wǎng)絡(luò)通信

2.1Socket基本原理介紹

Socket是一種通信機(jī)制,客戶/服務(wù)器系統(tǒng)既可以在本地單機(jī)上運(yùn)行,也可以在網(wǎng)絡(luò)中運(yùn)行。

首先需要了解socket中的一些重要函數(shù):

1)創(chuàng)建Socket:intsocket(intdomain,inttype,intprotocol);

2)配置Socket:bind函數(shù)指定本地信息intbind(intsocket,conststructsockaddr*address,size_taddress_len);

3)使用listen()和accept()函數(shù)獵取遠(yuǎn)端信息:

Intlisten(intsocket,intbacklog);

Intaccept(intsocket,structsockaddr*address,size_t*address_len);

4)通信處理:send(),write(),recv(),read()。

5)通信結(jié)束:使用closesocket()。

串口通信與網(wǎng)絡(luò)通信的應(yīng)用討論

2.2Windows和Linux下socket應(yīng)用程序

客戶端程序:創(chuàng)建一個(gè)未命名的套接字,然后把它連接到服務(wù)器套接字server_socket上,向服務(wù)器寫一個(gè)字符,再讀回經(jīng)服務(wù)器處理后的一個(gè)字符。

服務(wù)器端程序:首先創(chuàng)建一個(gè)服務(wù)器套接字,綁定到一個(gè)名字,然后創(chuàng)建一個(gè)監(jiān)聽(tīng)隊(duì)列,接收來(lái)自客戶程序的連接。

下面我們分別在Windows和Linux下進(jìn)行socket編程,實(shí)現(xiàn)二者之間的通信,詳細(xì)函數(shù)實(shí)現(xiàn)的主要部分如下:

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,(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結(jié)束語(yǔ)

本文設(shè)計(jì)了基于嵌入式平臺(tái)

串口通信與網(wǎng)絡(luò)通信的應(yīng)用討論

上可移動(dòng)攝像頭遠(yuǎn)程掌握,對(duì)串口通信和網(wǎng)絡(luò)通信的原理和機(jī)制加以闡述,對(duì)串口驅(qū)動(dòng)和網(wǎng)絡(luò)驅(qū)動(dòng)的編寫提出了詳細(xì)的方法,并且在

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論