新聞中心

        EEPW首頁 > 光電顯示 > 設計應用 > 以藍牙技術為基礎的無線顯示屏系統設計

        以藍牙技術為基礎的無線顯示屏系統設計

        作者: 時間:2012-07-28 來源:網絡 收藏

        本文引用地址:http://www.104case.com/article/167772.htm

        3.1部分程序

        該部分采用了socket編程。通過建立RFCOMM協議層的socket進行連接。連接建立成功之后可以調用函數recv或者read讀取主機發來的數據,主機端則對應地采用函數send或者write發送數據。通信結束之后可以調用函數close結束連接。

        主機和顯示終端藍牙模塊都有固定的藍牙地址,主機端直接和固定藍牙地址的顯示終端設備進行連接。一臺主機可以和多個顯示終端進行通信,在不同的顯示終端上顯示圖像和字符。

        藍牙初始化部分參考程序如下:


        3.2 LCD液晶屏部分程序

        LCD液晶屏部分程序采用了Linux內核驅動程序的framebuffer編程接口。framebuffer為圖像硬件設備提供了一種抽象化處理,允許應用程序通過定義明確的界面來訪問圖像硬件設備。軟件無須了解任何涉及硬件底層驅動的東西。通過framebuffer,應用程序可以用mmap函數把顯存映射到應用程序虛擬地址空間,將要顯示的數據寫入內存空間就可以在屏幕上顯示出來。LCD初始化和清屏部分參考程序如下:

        LCD液晶屏初始化和藍牙socket初始化連接完成以后,便可以通過藍牙發送圖像和字符數據。藍牙接收顯示圖像和字符兩個部分的程序類似,都是通過調用函數recv或者read讀取主機發來的命令,經過程序判斷然后以相同的方式接收數據。字符部分數據接收和顯示參考程序如下:


        該段程序利用接收到的字符數據得到對應的顯示字庫數據,然后通過frambuffer顯示接口顯示到LCD液晶屏上面。源程序帶有顯示字庫文件,該文件通過編譯并嵌入可執行代碼,然后下載到顯示終端文件這里只添加了英文字庫和對應的顯示代碼,可以正常顯示英文字符。如果需要,通過添加中文字庫和少量顯示代碼就可以很方便地實現中文字符的顯示。圖像部分程序則是將接收到的位圖數據通過frambuffer顯示接口直接顯示到LCD液晶屏上面。

        為了在顯示終端的Linux操作上使用藍牙協議棧,需要在交叉編譯嵌入式Linux內核時將所需的藍牙支持選項選上,并將所需的Bluez藍牙庫編譯安裝到終端文件系統中。用戶應用程序同樣通過交叉編譯得到可執行代碼,然后下載到終端文件系統運行。

        該系統可以應用在公共信息,如大廳廣告信息屏、建筑物提示標志等地方,可以避免有線連接的缺陷。系統通過擴展后還可以同移動電話、PDA、耳機、揚聲器交換數據。

        4結論

        在嵌入式Linux操作系統上通過已有的藍牙協議棧進行藍牙開發,通過藍牙協議層收發數據,可以不用關心藍牙底層驅動的實現。用戶可以通過各種上層協議進行更復雜的通信,通過藍牙SCO協議層還可以發送音頻數據。因此嵌入式Linux操作系統平臺上進行藍牙無線系統的開發較為方便,并且具有擴展性能好的優點。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 阿克陶县| 无极县| 金阳县| 阳信县| 井冈山市| 中阳县| 石河子市| 沂源县| 蕉岭县| 玉屏| 迁西县| 滁州市| 青田县| 焦作市| 廉江市| 揭西县| 兴文县| 五家渠市| 泽州县| 伽师县| 秀山| 中卫市| 衡阳县| 泗洪县| 丰宁| 禹州市| 兰西县| 奉节县| 句容市| 六枝特区| 龙岩市| 九龙坡区| 社旗县| 潼关县| 扎兰屯市| 元谋县| 阿尔山市| 大渡口区| 三原县| 博湖县| 和硕县|