新聞中心

EEPW首頁 > 光電顯示 > 設(shè)計(jì)應(yīng)用 > LED顯示屏二次開發(fā)接口的設(shè)計(jì)方案

LED顯示屏二次開發(fā)接口的設(shè)計(jì)方案

作者: 時(shí)間:2012-05-30 來源:網(wǎng)絡(luò) 收藏

(4)如果(2)中指令是文件傳輸指令,則重復(fù)(2)、(3),直到文件傳輸結(jié)束。

在通信過程中,發(fā)送方要強(qiáng)制結(jié)束發(fā)送過程,可以發(fā)送通信握手命令或強(qiáng)制中止通信進(jìn)行強(qiáng)制終止。

2。2通信通道

在對進(jìn)行通信之前,必須先建立通信通道,而退出系統(tǒng)時(shí),則釋放通信通道資源。通信通道包括:

(1)打開通信通道

函數(shù)格式:DWORDCOMM_Open(constPDeviceParampDevParam,DWORDdwNotify,DWORDdwWindws,DWORDdwMsg);

參數(shù)說明:

①pDevParam:表示指定設(shè)備的參數(shù),例如串口的波特率、串口號(hào),以及網(wǎng)絡(luò)本地IP地址、端口號(hào)等參數(shù);②dwNotify:表示當(dāng)有返回值時(shí)是否通知,0代表不通知,1表示通知;③dwWindws:表示消息通知的窗體句柄;④dwMsg:用戶定義的消息號(hào)。

返回值:

①0:表示創(chuàng)建失敗;②其它值:表示設(shè)備通道值。

功能描述:

該函數(shù)用來建立一個(gè)通信通道,函數(shù)運(yùn)行一次即建立一個(gè)通道,建立成功就返回一個(gè)DWORD值,代表一個(gè)設(shè)備的句柄,用于區(qū)分不同的通道。該值供其它函數(shù)使用,以便對不同的進(jìn)行控制。

物理上支持串口通道、網(wǎng)絡(luò)通道,對于串口,設(shè)置串口號(hào)、波特率、接收/發(fā)送緩沖區(qū),然后打開串口;對于網(wǎng)絡(luò),設(shè)置本地IP、端口號(hào)、接收/發(fā)送緩沖區(qū),然后打開網(wǎng)口。這里需要特別強(qiáng)調(diào)的是,網(wǎng)絡(luò)采用UDP方式,這主要是為了:

①在協(xié)議實(shí)現(xiàn)上與串口統(tǒng)一;②只需一次創(chuàng)建;③提高網(wǎng)絡(luò)通信握手連接。

因篇幅原因,以下函數(shù)將只列出函數(shù)格式和功能說明。

(2)關(guān)閉通信通道

函數(shù)格式:DWORDCOMM_Close(DWORDdwDev/*通信設(shè)備通道*/);

該函數(shù)關(guān)閉已打開的通信通道(dwDev),釋放通信通道資源,一般在退出系統(tǒng)前使用。

(3)強(qiáng)制中止通信

函數(shù)格式:DWORDCOMM_Break(DWORDdwDev);

該函數(shù)中止當(dāng)前通信通道(dwDev)的通信。

(4)通信握手

函數(shù)格式:DWORDCOMM_Link(DWORDdwDev/*通信設(shè)備通道*/,

BYtebyDstNo/*目標(biāo)顯示屏ID*/,

char*chHost/*網(wǎng)絡(luò)地址,串口時(shí)無效*/,

WORDwPort/*網(wǎng)絡(luò)端口號(hào),串口時(shí)無效*/

);

該函數(shù)查詢顯示屏是否能夠通信,可在通信之前或監(jiān)控顯示屏?xí)r使用。

2。3節(jié)目接口

LED顯示屏顯示的信息其實(shí)是一個(gè)個(gè)的節(jié)目文件,一般先在上位機(jī)控制系統(tǒng)中生成,然后發(fā)送到顯示屏上顯示。在節(jié)目接口時(shí),可能因節(jié)目結(jié)構(gòu)不同,細(xì)節(jié)上有些差別,本文根據(jù)如圖3所示的樹形節(jié)目結(jié)構(gòu)一種節(jié)目接口。

(1)節(jié)目初始化。

函數(shù)格式:

DWORDProgram_Init(DWORDdwProgramType/*節(jié)目類型*/,

DWORDdwScreenType/*顯示屏類型*/,

DWORDdwWidth/*節(jié)目寬度*/,

DWORDdwHeight/*節(jié)目高度*/

);

該函數(shù)用于在計(jì)算機(jī)內(nèi)存開辟一塊內(nèi)存空間,或釋放上一次節(jié)目占用的資源,為節(jié)目生成做準(zhǔn)備。

(2)添加區(qū)域

函數(shù)格式:

DWORDProgram_AddArea(DWORDdwAreaType/*區(qū)域類型*/,

LPRECTrect/*顯示區(qū)域*/,

DWORDdwAreaNO/*區(qū)域號(hào)*/

);

在顯示屏頁面上,根據(jù)節(jié)目的要求,需要?jiǎng)澐植煌膮^(qū)域,設(shè)置其起點(diǎn)和寬高??墒褂迷摵瘮?shù)在當(dāng)前顯示頁面上創(chuàng)建一個(gè)個(gè)的區(qū)域,以放置具體的顯示對象,例如內(nèi)碼文字、時(shí)鐘等。

(3)添加各種對象。

在頁面的區(qū)域上,可添加單行文字、多行文字、內(nèi)碼文字、圖片、視頻動(dòng)畫、WORD文檔、Flash動(dòng)畫、表格、數(shù)字時(shí)鐘、模擬時(shí)鐘、倒計(jì)時(shí)等各種顯示對象,在實(shí)現(xiàn)時(shí),每一種對象對應(yīng)一個(gè)函數(shù)。這里列出常用的添加圖片的函數(shù):

函數(shù)格式:

DWORDProgram_AddPicture(DWORDdwAreaNO/*區(qū)域號(hào)*/,

HDCdc/*圖形dc*/,

DWORDdwWidth/*圖片寬*/,

DWORDdwHeight/*圖片高*/,

LPRECTrect/*顯示區(qū)域*/,

DWORDdwAction/*特效號(hào)*/,

DWORDdwExitAction/*退出特效號(hào)*/,

DWORDdwSpeed/*顯示速度*/,

DWORDdwTimecount/*顯示時(shí)間*/,

DWORDdwTransparent/*透明與否*/);

該函數(shù)在指定區(qū)域上添加一個(gè)圖片,顯示內(nèi)容來自于dc。

(4)節(jié)目數(shù)據(jù)生成。

函數(shù)格式:DWORDProgram_MakeData()。

該函數(shù)生成節(jié)目數(shù)據(jù),以便使用LEDControl_SendToScreen函數(shù)發(fā)送到不同的顯示屏。

2。4命令接口

命令接口主要為控制、監(jiān)控和發(fā)送節(jié)目數(shù)據(jù)而,例如,火車站或街頭的廣告屏,在夜間人少時(shí),廣告效果不明顯,同時(shí)也為了省電,可在指定夜間時(shí)間點(diǎn)關(guān)閉顯示屏,然后到早晨指定時(shí)間點(diǎn)自動(dòng)打開顯示屏。經(jīng)過總結(jié),命令接口的命令包括:

(1)重啟命令。

函數(shù)格式:DWORDLEDControl_Reboot(DWORDdwDev,BYTEbyDstNo,char*chHost,WORDwPort);

該函數(shù)用來重啟指定的LED顯示屏。

(2)電源控制。

函數(shù)格式:DWORDLEDControl_SetPower(DWORDdwDev,BYTEbyDstNo,charchHost,WORDwPort,DWORDdwPower/*開或關(guān)標(biāo)識(shí)*/);

該函數(shù)打開或關(guān)閉顯示屏。

(3)顯示屏亮度調(diào)節(jié)。

函數(shù)格式:DWORDLEDControl_SetBrightness(DWORDdwDev,BYTEbyDstNo,char*chHost,WORDwPort,BYTEbyBrightness/*亮度*/);

該函數(shù)用于調(diào)節(jié)顯示屏亮度。

(4)校時(shí)。

函數(shù)格式:DWORDLEDControl_AdjustTime(DWORDdwDev,BYTEbyDstNo,char*chHost,WORDwPort);

該函數(shù)用于計(jì)算機(jī)時(shí)鐘校正顯示屏?xí)r鐘。

(5)節(jié)目發(fā)送接口。

函數(shù)格式:DWORDLEDControl_SendToScreen(DWORDdwDev,BYTEbyDstNo,char*chHost,WORDwPort);

該函數(shù)將Program_MakeData生成的節(jié)目數(shù)據(jù)發(fā)送到顯示屏,最后返回狀態(tài)值,表示成功、失敗及其它狀態(tài),用戶根據(jù)狀態(tài)再進(jìn)行相應(yīng)的處理。

(6)局部更新節(jié)目接口。

函數(shù)格式:DWORDLEDControl_UpdateCodeText(DWORDdwDev,BYTEbyDstNo,char*chHost,WORDwPort,char*chCodeText/*字符串緩沖區(qū)*/,intiLen/*字符串長度*/);



評論


相關(guān)推薦

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

關(guān)閉