欢迎来到第壹文秘! | 帮助中心 分享价值,成长自我!
第壹文秘
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 第壹文秘 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    LED显示屏通讯协议.docx

    • 资源ID:604142       资源大小:58.89KB        全文页数:6页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,如果您不填写信息,系统将为您自动创建临时账号,适用于临时下载。
    如果您填写信息,用户名和密码都是您填写的【邮箱或者手机号】(系统自动生成),方便查询和重复下载。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    LED显示屏通讯协议.docx

    VisionShow显示屏掌握器通讯协议通讯方式 RS-232C波特率:9600,14400,19200,38400,57600,115200可选(由掌握软件进展设置)数据长度:8位校验位:无停顿位:1位流掌握:无 RS-485与RS-232C一样 10/100M以太网可支持局域网或Intemet,如需远程掌握可承受外置CDMA模块进展无线通讯数据构造及数据组织格式显示数据由以下的构造组成:根节点(RoOt)1 一一页面(Leaf)2 -页面I字符串(String)数据构造特点: 根节点下只能由页面节点构成,不能消灭其他节点 页面节点下只能由各种对象节点构成,不能消灭根节点及页面节点 第一个页面的计算公式为:leaf=(PI>eaf)(DWORD)root+sizeof(TRoot); 第一个对象的计算公式为:Object=(PObject)(DWORD)1eaf+Sizeof(TLeaf); 下一对象的计算公式为:Ieaf=(PLeaf)(DWORD)leaf+leaf->size)object=(Pobject)(DWORD)object+object->size)数据构造的C语言形式:根节点(Root)#defineROOT_PLAYOxll#defineROOTJ)OWNLOAI)0x12#defineScreenjnicolorOxOOdefineSCREEN_COLOROxOl#defineSCREEN_GRAY0x02#defineSCREE)CFULLCOLoR0x03typedefstructROOTWORDid;数据流类型WORD.count;页面数目DWORDsize;整个数据流字节数(包含数据字节数和该元素本身字节数之和)WORDtype;要求的显示屏类型(单色、双色、全彩)WORDReserved;)TRoot,*PRoot;数据构造说明:id:说明数据流的类型,有两种数据类型ROOT_PLAY及RoOT.DOWNLOADsize:说明该构造及下属数据的长度之和(特别留意:全部数据构造中的Size字段都必需是4字节对齐,假设数据不是4字节对齐,必需在数据之后填充0)type:说明数据流所要求的显示屏类型(SCREENJJNICOLOR,SCREEN_COLoR)页面节点(Leaf)ttdcfineOBJECT_LEAF0x30typedefstructLEAFWORDid;页面标识WORDcount;对象数目DWORDtime;页面显示时间单位为亳秒DWORDReserved;DWORDsize;对象字节数TLeaf,*PLeaf;数据构造说明:id:固定为OBJEeT_LEAF对象构造#defineOBJECT.STRING0x33typedefstructRECT*以左上角为原点*/shortleft;shorttop;shortright;shortbottom;TRectf*PRect;typedefstructOBJECTWORDid;对象标识,固定为OBJECT.STRINGWORDflicks;闪耀次数DWORDsize;对象字节数TRectrect;对象显示区域TObject;typedefstructSTRINGTObjectobject;对象的一般定义WORDmethod;显示方式WORDspeed;显示速度DWORDReserved2DWORDcolor;字符颜色:OXff=红色OXFFOO=绿色OXFFoOoO=蓝色DWORDfontset;字符集(一般状况0=16点阵1=24点阵)TString,*PString;字符串数据构造说明:假设需要显示屏显示一个字符串,应当按如下步骤组织一个字符串:1.安排一段内存,内存的长度为:TString数据构造长度+字符串长度+12.填写TString数据构造3.将字符串拷贝到TString数据构造之后(字符串必需以NULL结尾(OXOO)method:显示方式1.马上显示2.左滚显示3.连续上滚4.中间向上下开放5.中间向两边开放6.中间向四周开放7.向左移入8.向右移入9.从左向右开放10.从右向左开放11.右上角移入12.右下角移入13.左上角移入14.左下角移入15.从上向下移入16.从下向上移入17.闪烁数据组织实例假定需要向显示屏发送字符串“中国人民万岁abc”,需进展如下操作:1 .填写ROot数据构造(假定已安排了足够的内存,root已指向安排的内存)root->id=ROOT_PLEAY;root->count=0;root->size=sizeof(TRoot);root->type=SCREEN.COLOR;2 .填写Leaf数据构造leaf=(PLeaf)(DWORD)root+sizeof(TRoot);leaf->id=OBJECT_LEAF;leaf->size=sizeof(TLeaf);leaf->count=0;Ieaf-Ximc=100O;root->count+;此处需回填root对象,说明增加了一个页面root->size+=leaf->size;同样root所下属的数据长度已增加3 .填写String数据构造String=(PString)(DWORD)Ieaf+Sizeof(TLeaf);string->object.id=OBJECT.STRING;string->objcct.rect.left=0;string->objcct.rect.top=0;string->objcct.reel.right=128;string->object.rect.bottom=32;说明字符串显示在(0,0128,32)这个区域内string->object.flicks=5;说明需闪耀5次string->method=17;显示方式为闪耀string->speed=8;/8个时钟周期闪耀一次(时钟周期为掌握卡设置中的单步时间)string->color=OxFFFF;string->fontset=0;4.拷贝数据Str="中国人民万岁abc”;memcpy(char*)(DWORD)str*(char*)(DWORD)string+sizstring->object.sizc=sizeof(TStri处理对象4字节对齐模式if(string->oect.size&3)0Xff=红色OXFFoo=绿色OXFFOOOo=蓝色,此处为黄色字符集,0=16点阵宋体1=24点阵宋体ing+sizeof(TString),str,strlen(str);wf(TString)+strIcn(str)=NULL;(特别留意:每个字符串都必需以NULL结尾)ng)+strlcn(str);string->object.size=(string->object.size&-3)+4;回填Leaf对象及Root对象leaf->count+÷leaf->size+=string->object.size;root->size+=string->oect.size;上面的过程执行完成后,显示数据已经组织完毕,下面就是将数据组织起来发送出去数据发送数据发送是将上面形成的数据发送到掌握器,由于发送过程可能产生错误、超时、溢出等错误,为了解决这些问题,必需制定有效的数据组织方式,使接收方能校验数据的正确性。数据发送流程红色表示在这个流程中属于关键的局部发送过程数据构造及常量# dcfinePKC_BEGIN0# dcfinePKC_END1# definePKC.DATA2#dcfinePKcLRESPoND3#dcfincPKP_LEADER0x55#dcfinePKPSUFFIXOxAA#dcfinePKP_FILLCHOxBB#dcfinePKP.LENGTH512#definePKP_MAX_LENGTHPKP_LENGTH*2+sizeof(TPKG_Header)*2typedcfstructPKG_HEADERWORDCommand;BYTEsrcAddr;BYTEdstAddr;DWORDScrialNo;TPKG_Hcadcr,*PPKG_Header;typedefstructPKG.RESPONDTPKG_HeaderHeader;WORDCommand;WORDResult;TPKG_Respond,*PPKG_Respond;上面流程中提到的发出连接命令、发送数据帧、发送完毕帧按如下方式构造TPKG_Headerheader;连接命令headermand=PKC.BEGIN;header.srcAddr=O;hcadcr.dstAddr=O;header.SerialNo=0;数据帧headermand=PKC.DATA;header.srcAddr=O;header.dstAddr=O;header.SerialNo=当前数据帧序列号(从1开头挨次递增)if(SerialNo*PKP_LENGTH<DataLength)memcpy(&header+sizeof(header),buffer+(SerialNo-l)*PKP_LENGTH,PKP_LENGTH);elsememcpy(&header+sizeof(header),buffer+(SerialNo-l)*PKP_LENGTH,DataLength-SerialNo*PKP_LENGTH);完毕帧headermand=PKC_END;header.srcAddr=O;hcadcr.dstAddr=O;if(DataLength%PKP_LENGTH)header.Seria!No=(DataLength/PKP_LENGTH)+2;elseheader.SerialNo=(DataLengthPKP-LENGTH)÷1;例:数据总长度1024字节,那么SeriaINo=(IO24/512)+1=3假设数据长度为1025字节,SerialNo=(1025/512)+2=4命令发送为了能够检测数据错误及能够准确的识别每一个命令,上面形成的数据按如下方式组织:起始字符(0x55)数据(长度不定)CRC16(低位在前,高位在后)完毕字符(OXAA)数据及CRC16局部承受字符填充法来替换这两局部消灭的0x55及OxAA,替换过程为:扫描数据及CRC16局部,将这两局部中消灭的0x55、OxAA>OxBB,用OXBB和字符+1替代例:原始数据为:0x55,OxAA,OxBB,

    注意事项

    本文(LED显示屏通讯协议.docx)为本站会员(p**)主动上传,第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知第壹文秘(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 1wenmi网站版权所有

    经营许可证编号:宁ICP备2022001189号-1

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第壹文秘网,我们立即给予删除!

    收起
    展开