基于藍牙技術的無線顯示屏系統設計
3 系統軟件設計
系統軟件同樣分為主機部分和顯示終端部分。這里主要分析顯示終端部分軟件的設計,主機部分與其類似。顯示終端部分程序包括:LCD液晶屏初始化,藍牙設備的初始化,藍牙連接的建立和圖像字符數據的傳輸顯示等幾個部分。程序流程如圖6所示。本文引用地址:http://www.104case.com/article/157552.htm
用戶程序以Linux操作系統上的Bluez藍牙協議棧為平臺進行開發。主機應用程序采用GCC編譯器進行編譯,顯示終端應用程序采用arm-linux-gcc編譯器進行交叉編譯。
3.1藍牙部分程序設計
該部分采用了藍牙socket編程。通過建立藍牙RFCOMM協議層的socket進行連接。連接建立成功之后可以調用函數recv或者read讀取主機發來的數據,主機端則對應地采用函數send或者write發送數據。通信結束之后可以調用函數close結束連接。
主機和顯示終端藍牙模塊都有固定的藍牙地址,主機端直接和固定藍牙地址的顯示終端設備進行連接。一臺主機可以和多個顯示終端進行通信,在不同的顯示終端上顯示圖像和字符。
藍牙初始化部分參考程序如下:
3.2 LCD液晶屏部分程序設計
LCD液晶屏部分程序采用了Linux內核驅動程序的framebuffer編程接口。framebuffer為圖像硬件設備提供了一種抽象化處理,允許應用程序通過定義明確的界面來訪問圖像硬件設備。軟件無須了解任何涉及硬件底層驅動的東西。通過framebuffer,應用程序可以用mmap函數把顯存映射到應用程序虛擬地址空間,將要顯示的數據寫入內存空間就可以在屏幕上顯示出來。LCD顯示屏初始化和清屏部分參考程序如下:
評論