新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于QT/Embedded的可變情報板應用程序開發(fā)

基于QT/Embedded的可變情報板應用程序開發(fā)

作者: 時間:2010-03-04 來源:網絡 收藏


3.3 Socket編程技術

在本程序中,控制器一般被設置為服務器端,其具體的過程如下:

◇創(chuàng)建套接字:int socket(int domain,inttype,int protocol。

◇綁定socket到特定端口:int bind (intsockfd,struct sockaddr*my_addr,int addrlen)。

◇監(jiān)聽套接字端口:int listen(int sockfd,int backlog)。

◇接受客戶端連接請求:int accept (intsockfd,void*addr,int*addrlen);

◇發(fā)送數(shù)據(jù)(面向TCP連接):int send (intsockfd,const void*msg,int len,int flags)。

◇接收數(shù)據(jù)(面向TCP連接):int rear(intsockfd,void*buf,int len,unsigned int flags)。

◇關閉套接口:close(socket)。

3.4 進程間的通信技術

進程間的通信手段主要有管道、消息隊列、信號、共享內存、信號量、套接口等等,本文采用的是內存共享和信號機制。

(1)內存共享

在該方式中,多個進程可以訪問同一塊內存空間,它是最快的可用IPC形式,往往使用信號量機制來達到進程同步一互斥。mmap()系統(tǒng)調用使得進程之間可以通過映射同一個普通文件來實現(xiàn)內存共享。當普通文件被映射到進程地址空間后,進程可以向訪問普通內存一樣來對文件進行訪問,而不必再調用read()和write()等操作。

(2)信號機制

該方式可用于通知接受進程有某種事件發(fā)生,是進程間唯一的異步通信機制。該方式的信號安裝代碼為:

int sigaction(int signum,const struct sigaction*act,struct sigaction*oldact)。

而發(fā)送信號的代碼為:

int sigqueue(pid_t pid,int sig,const unionsigval val)。

4 運行步驟

將編譯好的可執(zhí)行文件移植到目標板上,需要以下幾個步驟:

(1)打開電腦的超級終端程序,將計算機串口與目標板相連;

(2)在ARM板加電初始化完畢后,cd到開發(fā)板的tmp文件夾底下,再用超級終端上的上載文件功能,將可執(zhí)行程序下載到板子上。

(3)在命令行敲人chmod 777 xxx,改變可執(zhí)行文件的執(zhí)行權限。

(4)在命令行敲人./xxx,并執(zhí)行。此后程序開始運行。

5 結束語

本文以板圖形系統(tǒng)的開發(fā)為例,闡述了QT的軟件開發(fā)方法,其友好的人機交互界面以及反應快速靈敏的特點,使得該系統(tǒng)具有良好的執(zhí)行效果。目前,該系統(tǒng)已經成功交付使用并具有良好的穩(wěn)定性。隨著嵌入式技術的繼續(xù)飛速發(fā)展和用戶需求的不斷增加,相信在未來不久,LED板系統(tǒng)將會發(fā)揮越來越多的作用。

上一頁 1 2 下一頁

評論


相關推薦

技術專區(qū)

關閉