<em id="0a85b"><option id="0a85b"></option></em>

<abbr id="0a85b"></abbr>

      <nobr id="0a85b"></nobr>
        <tr id="0a85b"></tr>
        9久久伊人精品综合,亚洲一区精品视频在线,成 人免费va视频,国产一区二区三区黄网,99国产精品永久免费视频,亚洲毛片多多影院,精品久久久无码人妻中文字幕,无码国产欧美一区二区三区不卡
        學習啦 > 論文大全 > 畢業論文 > 工學論文 > 通信學 >

        串口通信與網絡通信的應用研究

        時間: 邢子羽1 分享
          摘要:該文通過可移動攝像頭控制系統,探討了以Windows與Linux平臺為基礎的兩個操作系統之間的串口通信和網絡通信,通過基于S3C2410的嵌入式串口通信的實現提出了具體可行的操作。該系統的硬件主體設計以三星S3C2410處理器為核心控制器件,實現在ARM平臺上的基本功能。
          關鍵詞:嵌入式;Socket;串口通信;網絡通信
          本文的背景是研究通過對攝像頭的遠程控制從而對運動圖像加以采集和處理。該系統的音視頻編解碼部分,是基于Windows系統用VC進行的開發,實現對圖像視頻的編解碼處理,攝像頭的遠程控制系統主要是通過Linux系統設計。統通過串口和網絡進行傳輸和控制。系統采用C/S模型,PC機作為client端,根據采集到的數據進行編解碼后,發送出對攝像頭的控制命令,通過網絡傳輸到ARM9平臺上,ARM平臺作為server端在接收到client端發送的命令后,通過串口發送命令來控制攝像頭。
          1 串口通信
          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 網絡通信
          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);
          }
          3 結束語
          本文設計了基于嵌入式平臺上可移動攝像頭遠程控制,對串口通信和網絡通信的原理和機制加以闡述,對串口驅動和網絡驅動的編寫提出了具體的方法,并且在實際的操作應用中給出了具體函數的編寫。本文所提供的處理方法已在實際的項目中的得到應用,對于其他的通過串口通信和網絡通信控制的設備,具有參考意義,今后我們還將展開進一步的相關研究。
          參考文獻:
          [1] 劉智國,張海春.基于S3C2410的嵌入式串口通信設計[J].微計算機信息(嵌入式與SOC),2009,25(4-2).
          [2] 常春國,史金飛,羅翔,張磊. Windows與Linux串口通信和網絡通信的比較研究[J].中國制造業信息化,2006,(4):49-52.
          [3] 賴曉晨.嵌入式C/C++程序設計[J].北京:清華大學出版社,2008.
        23450 主站蜘蛛池模板: 日韩成人一区二区二十六区| 国产精品白浆在线观看免费| 精品无码成人片一区二区| 日韩在线观看精品亚洲| 我要看特黄特黄的亚洲黄片| 男人猛躁进女人免费播放| 国产精品黄色片| 久久精品国产91精品亚洲| 精品无码人妻一区二区三区不卡| 亚洲成人av在线资源| 开心五月激情五月俺亚洲| 亚洲精品国模一区二区| 日韩一卡2卡3卡4卡新区亚洲| 乱码精品一区二区亚洲区| 亚洲av无码专区在线亚| 久久99久国产麻精品66| 人人妻人人澡人人爽人人精品电影| 99久久无色码中文字幕人妻| 国内不卡的一区二区三区| 一级二级三一片内射视频在线 | 激情综合网激情激情五月天| 亚洲国产高清av网站| 免费超爽大片黄| 台湾佬自拍偷区亚洲综合| 人妻av一区二区三区av免费 | 中文字幕久区久久中文字幕| 日本一区二区三深夜不卡| 亚洲精品拍拍央视网出文 | 久久综合国产精品一区二区| 精品国产成人国产在线视| 久久人人97超碰人人澡爱香蕉| 2020国产成人精品视频| 看全色黄大黄大色免费久久| 欧美黄网在线| 久久综合久中文字幕青草| 国产午夜成人久久无码一区二区| 人妻日韩精品中文字幕| 色欲狠狠躁天天躁无码中文字幕 | 成全影视大全在线观看| 国产精品一区二区黄色片| 亚洲av成人一区国产精品|