日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于BlueZ協(xié)議棧的嵌入式系統(tǒng)無線通信實現(xiàn)

          基于BlueZ協(xié)議棧的嵌入式系統(tǒng)無線通信實現(xiàn)

          作者: 時間:2010-07-29 來源:網(wǎng)絡 收藏

          (1) 生成交叉編譯器,創(chuàng)建交叉編譯環(huán)境
          (2) 編譯、配置實驗開發(fā)平臺上的 Linux內核
          (3) 安裝 軟件包
          (4) 編譯實驗開發(fā)平臺上的Linux內核
          (5) 向s3c2410a實驗平臺移植 通過上述步驟完成了藍牙的移植后,一個藍牙應用開發(fā)平臺就搭建

          本文引用地址:http://yuyingmama.com.cn/article/151711.htm

          4、文件傳輸功能的
          如上步驟成功移植藍牙后,一個完整的藍牙應用開發(fā)平臺就已經(jīng)搭建好了,本文將利用BlueZ提供的API函數(shù)在RFCOMM層上藍牙文件傳輸?shù)墓δ?,所采用?a class="contentlabel" href="http://yuyingmama.com.cn/news/listbylabel/label/協(xié)議">協(xié)議路徑為:射頻(RF)―基帶與鏈路控制(BBLC)―主機控制接口(HCI)―邏輯鏈路與適配協(xié)議(L2CAP)―串口仿真(RFCOMM)―對象交換協(xié)議(OBEX)。它的分為客戶端程序和服務器端程序,流程圖如圖2所示。

          2反映了通過藍牙實現(xiàn)文件從客戶端傳輸一個文件到服務器的過程,其中用到的協(xié)議棧中的API函數(shù)以及針對藍牙通信的設置如下 : (1)int socket(int domain, int type,int protocol) 通過這個函數(shù)建立一個套接字,其中參數(shù) domain說明網(wǎng)絡程序所用的通訊協(xié)議族,本實驗中我們用的是藍牙官方協(xié)議棧BlueZ,所以我們的 domain取值AF_BLUETOOTH,type
          我們采用可靠的面向連接的 SOCK_STREAM,protocol我們采用的代表串口仿真的 BTPROTO_RFCOMM。
          (2) int bind(int sockfd, struct sockaddr *my_addr, int addrlen)
          這個函數(shù)是服務器端的函數(shù),實現(xiàn)的是綁定端口功能。在我們的實驗中,參數(shù) my_addr代表的我們用的是一個結構體,表示本地地址信息,它的 rc_family我們取為 AF_BLUETOOTH,它的rc_bdaddr我們取可以和任意主機通信的 INADDR_ANY。

          (3) int listen(int sockfd,int backlog)
          這個函數(shù)是服務器端的函數(shù),實現(xiàn)監(jiān)聽端口功能,它和我們普通Linux下的使用方法完全一樣。

          (4) int accept(int sockfd, struct sockaddr *addr,int *addrlen)
          這個函數(shù)是服務器端的函數(shù),完成接受客戶端的鏈接請求,并建立與客戶端的鏈接的功能。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          評論


          相關推薦

          技術專區(qū)

          關閉