新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于QT/Embedded的可變情報(bào)板應(yīng)用程序開發(fā)

基于QT/Embedded的可變情報(bào)板應(yīng)用程序開發(fā)

作者: 時(shí)間:2010-03-04 來源:網(wǎng)絡(luò) 收藏


3.3 Socket編程技術(shù)

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

◇創(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)。

◇接受客戶端連接請(qǐng)求: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)。

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

3.4 進(jìn)程間的通信技術(shù)

進(jìn)程間的通信手段主要有管道、消息隊(duì)列、信號(hào)、共享內(nèi)存、信號(hào)量、套接口等等,本文采用的是內(nèi)存共享和信號(hào)機(jī)制。

(1)內(nèi)存共享

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

(2)信號(hào)機(jī)制

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

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

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

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

4 運(yùn)行步驟

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

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

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

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

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

5 結(jié)束語

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

上一頁 1 2 下一頁

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉