[发明专利]串口指令解码方法在审
申请号: | 201410842438.4 | 申请日: | 2015-08-04 |
公开(公告)号: | CN104503942A | 公开(公告)日: | 2015-07-29 |
发明(设计)人: | 曹明润;徐勇;汪升 | 申请(专利权)人: | 合肥金星机电科技发展有限公司 |
主分类号: | G06F13/42 | 分类号: | G06F13/42 |
代理公司: | 合肥诚兴知识产权代理有限公司 34109 | 代理人: | 汤茂盛 |
地址: | 230088 安*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及通讯技术领域,特别涉及一种串口指令解码方法,包括如下步骤:根据命令的个数m以及单个命令的最大长度n建立二维字节型数组arrCmdValue[m][n],同时建立一维整数型数组arrCmdSize[m]用于保存每条指令的长度,建立一维布尔型数组arrCmdFlag[m];将数组arrCmdFlag[m]初始化为“真值”;读取串口数据并进行比较,同时根据比较结果相应地修改数组arrCmdFlag[m]的值;对满足要求的命令进行解析并执行。本方法运算次数少,增加识别速度、准确性,该解码步骤仅在接收方进行,无需事先约定格式协议,对于任意串口数据,都能可靠解码。 | ||
搜索关键词: | 串口 指令 解码 方法 | ||
【主权项】:
一种串口指令解码方法,包括如下步骤:(A)根据命令的个数m以及单个命令的最大长度n建立二维字节型数组arrCmdValue[m][n],同时建立一维整数型数组arrCmdSize[m]用于保存每条指令的长度,建立一维布尔型数组arrCmdFlag[m];(B)将数组arrCmdFlag[m]初始化为“真值”;(C)读取串口数据并与数组arrCmdValue[m][n]的第一列进行逐行比较,若串口数据与数组arrCmdValue[m][n]的第一列数据完全不同,返回步骤C,若串口数据与数组arrCmdValue[m][n]的第一列数据部分相同或完全相同,进入步骤D;(D)数据不同的行x,对应的arrCmdFlag[x]置为“假值”;数据相同的行y,若arrCmdSize[y]的值为1,则命令解析完毕执行相应命令,否则进入步骤E;(E)读取串口数据并与数组arrCmdValue[m][n]的后续列中arrCmdFlag[m]为“真值”的行进行逐行比较,若后续列为第(n+1)列,返回步骤B,否则,若串口数据与数组arrCmdValue[m][n]的该列数据完全不同,返回步骤B,若串口数据与数组arrCmdValue[m][n]的该列数据部分相同或完全相同,进入步骤F;(F)数据不同的行x,对应的arrCmdFlag[x]置为“假值”;数据相同的行y,若arrCmdSize[y]的值等于对应列数,则命令解析完毕执行相应命令,否则重复步骤E;其中,arrCmdValue[i][0]、arrCmdValue[i][1]、…、arrCmdValue[i][n‑1]构成数组arrCmdValue[m][n]的第(i+1)行,arrCmdValue[0][j]、arrCmdValue[1][j]、…、arrCmdValue[m‑1][j]构成数组arrCmdValue[m][n]的第(j+1)列。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于合肥金星机电科技发展有限公司,未经合肥金星机电科技发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410842438.4/,转载请声明来源钻瓜专利网。
- 上一篇:一种面向OpenGL API的图形处理器
- 下一篇:一种可扩展的串行传输器件