資源描述:
《led顯示屏通訊協(xié)議》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)。
1、VisionShowffl示屏控制器通訊協(xié)議■通訊方式?RS-232C波特率:9600,14400,19200,38400,57600,115200可選(巾控制軟件進(jìn)行設(shè)置)數(shù)據(jù)長(zhǎng)度:8位校驗(yàn)位:無(wú)停止位:1位流控制:無(wú)?RS-485與RS-232C相同?10/100M以太網(wǎng)可支持局域網(wǎng)或Internet,如需遠(yuǎn)程校制可采用外置CDMA模塊進(jìn)行無(wú)線通訊■數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)組織格式顯示數(shù)據(jù)由以下的結(jié)構(gòu)組成:根節(jié)點(diǎn)(Root)
2、頁(yè)而(Leaf)I頁(yè)而I字符串(String)數(shù)據(jù)結(jié)構(gòu)特點(diǎn):?根節(jié)點(diǎn)下只能由頁(yè)面節(jié)點(diǎn)構(gòu)成,不能出現(xiàn)其他
3、節(jié)點(diǎn)?頁(yè)而節(jié)點(diǎn)下只能巾各種對(duì)象節(jié)點(diǎn)構(gòu)成,不能岀現(xiàn)根節(jié)點(diǎn)及頁(yè)而節(jié)點(diǎn)?第一個(gè)頁(yè)而的計(jì)算公式為:leaf=(PLeaf)((DWORD)root+sizeof(TRoot));?第一個(gè)對(duì)象的計(jì)算公式為:object=(PObject)((DWORD)leaf+sizeof(TLeaf));?下一對(duì)象的計(jì)算公式為:leaf=(PLeaf)((DWORD)leaf+leaf->size)object=(Pobject)((DWORD)object+object->size)數(shù)據(jù)結(jié)構(gòu)的C語(yǔ)言形式:?根節(jié)點(diǎn)(Root)#defineR
4、OOTPLAYOxll#dcfincROOT_DOWNLOAD0x12#defineSCREENUNICOLOR0x00#defineSCRERN_COLOR0x01#defineSCREEN_GRAY0x02#dcfincSCREENEULLCOLOR0x03typedefstructROOT{WORDid;//數(shù)據(jù)流類型WORDcount;//頁(yè)而數(shù)FIDWORDsize;//整個(gè)數(shù)據(jù)流字節(jié)數(shù)(包含數(shù)據(jù)字節(jié)數(shù)和該元素本身字節(jié)數(shù)之和)WORDtype;//要求的顯示屏類型(單色、雙色、全彩)WORDReserved;}
5、TRoot,*PRoot;數(shù)據(jù)結(jié)構(gòu)說(shuō)明:id:表明數(shù)據(jù)流的類型,有兩種數(shù)據(jù)類型ROOT_PLAY及ROOT_DOWNLOADsize:表明該結(jié)構(gòu)及下屬數(shù)據(jù)的長(zhǎng)度之和(特別注意:所有數(shù)據(jù)結(jié)構(gòu)中的Size字段都必須是4字節(jié)對(duì)齊,如果數(shù)據(jù)不是4字節(jié)對(duì)齊,必須在數(shù)據(jù)之后填充0)type:表明數(shù)據(jù)流所要求的顯示屏類型(SCREENUNICOLOR,SCREENCOLOR…)?頁(yè)面節(jié)點(diǎn)(Leaf)#defineOBJECTJLEAF0x30typedefstructLEAF{WORDid;//頁(yè)面標(biāo)識(shí)WORDcount;//對(duì)象數(shù)0
6、DWORDtime;//頁(yè)面顯示時(shí)間單位為毫秒DWORDReserved;DWORDsize;//對(duì)象字節(jié)數(shù)}TLeaf,*PLeaf;數(shù)據(jù)結(jié)構(gòu)說(shuō)明:id:固定為OBJECTLEAF?對(duì)象結(jié)構(gòu)林defineOBJECT_STRING0x33typedefstructRECT{/*以左上角為原點(diǎn)*/shortleft;shorttop;shortright;shortbottom;}TRect,*PRect;typedefstructOBJECT{WORDid;//對(duì)象標(biāo)識(shí),固定為OBJECT_STRINGWORDflic
7、ks;//閃爍次數(shù)DWORDsize;//對(duì)象字節(jié)數(shù)TRectrect;//對(duì)象顯示區(qū)域}TObject;typedefstructSTRING{TObjectobject;//對(duì)象的一般定義WORDmethod;//顯示方式WORDspeed;//顯示速度DWORDReserved[2]DWORDcolor;//字符顏色:Oxff=紅色0xFF00=綠色0xFF0000=藍(lán)色DWORDfontset;//字符集(一般情況0=16點(diǎn)陣1=24點(diǎn)陣)}TString,*PString;字符串?dāng)?shù)據(jù)結(jié)構(gòu)說(shuō)明:如果需要顯示屏顯示
8、一個(gè)字符串,應(yīng)該按如下步驟組織一個(gè)字符串:1.分配一段A存,A存的長(zhǎng)度為:TString數(shù)據(jù)結(jié)構(gòu)長(zhǎng)度+字符串長(zhǎng)度+12.填寫TString數(shù)據(jù)結(jié)構(gòu)1.將字符串拷貝到TString數(shù)據(jù)結(jié)構(gòu)之后(字符串必須以NULL結(jié)尾(0x00))ithod:StK方式1.立即顯示3.連續(xù)上滾5.中間叫兩邊展開7.向左移入9.從左向右展開11.右上角移入13.左上角移入15.從上向下移入17.閃爍2.左滾顯不4.中間向上下展開6.中間14四周展開8.向右移入10.從右向左展開12.右下角移入14.左下角移入16.從下向上移入■數(shù)據(jù)組織實(shí)例
9、假定需要向顯示屏發(fā)送字符串“屮國(guó)人民萬(wàn)歲abc”,需進(jìn)行如下操作:1.填寫Root數(shù)據(jù)結(jié)構(gòu)(假定已分配了足夠的內(nèi)存,root已指向分配的內(nèi)存)root->id=ROOT_PLEAY;root->count=0;root->$ize=$izeof(TRoot);root->type=SCREEN_COLOR;2.填寫L