[发明专利]一种获取串行接口输入数据的方法有效
申请号: | 200710111261.0 | 申请日: | 2007-06-20 |
公开(公告)号: | CN101135987A | 公开(公告)日: | 2008-03-05 |
发明(设计)人: | 汪康洪 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F11/28 | 分类号: | G06F11/28;G06F3/00 |
代理公司: | 信息产业部电子专利中心 | 代理人: | 吴永亮 |
地址: | 518057广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 获取 串行 接口 输入 数据 方法 | ||
技术领域
本发明涉及的是一种获取串行接口输入数据的方法,适用于需要通过串行接口进行人机交互操作的场合。
背景技术
在设备调试或工位测试以及许多正常使用的场合,经常需要通过串行接口输入一些命令字符或参数数字来通知设备完成特定的动作。
目前常使用传统的标准C语言的带格式输入函数来获取串行接口的输入数据,但是该方法对输入操作有许多限制,例如,如果在输入数据的过程中出现,如修改某个数字,多输入了一个空格键等误操作,该方法会不加识别,将所有的键盘操作都当成正常输入而进行处理,而且采用上述方法,还非常容易将下一次打印等非键盘输入当成键盘输入。
综上所述,现有技术中存在的获取串行接口输入数据的方法,无法使系统获取正确的输入数据。
发明内容
本发明的目的是提出一种获取串行接口的输入数据的方法,用于有效地获取串行接口的输入数据,提高了系统获取数据的效率和准确度。
为了实现上述目的,本发明具体是这样实现的:
一种获取串行接口输入数据的方法,包括如下步骤:
步骤1,确定串行接口待输入的字符串的进制,从串行接口获取输入的有效字符串数组;
步骤2,获取当前未处理过的最低有效位数据对应的有效字符作为待处理字符;
步骤3,将待处理字符转换成相应的整型数据;
步骤4,将获取的整型数据对应的数据值累加到总数据值中。
在本发明所述的方法中,在所述步骤1和步骤2之间增加如下处理步骤:
将乘数置1,并将输入字符串对应的总数据值清零;
获取字符串的长度。
在本发明所述的方法中,在所述步骤4之后增加如下处理步骤:
将乘数递乘以进制数,然后转入步骤2;
重复步骤3和步骤4,直至已处理的字符数等于所述获取的字符串的长度.返回总数据值。
在本发明所述的方法中,所述步骤2中有效位数据是按照有效字符串数组中数组下标从最大到最小的排列顺序来获取的;
所述的有效字符串数组的最大数组下标对应的有效字符为获取的最低有效位数据;
所述的有效字符串数组的最小数组下标对应的有效字符为获取的最高有效位数据。
在本发明所述的方法中,所述步骤3中,若待处理字符为16进制,则具体是这样实现的:
步骤301,判断待处理字符是否在’0’到’9’之间,如果是在’0’到’9’之间,则将待处理字符减0x30转换成整数值,再将此整数值乘以乘数,得到对应的数值,转入步骤4,否则,不在’0’到’9’之间,转入步骤302;
步骤302,继续判断待处理字符是否在’A’到’F’之间,如果是在’A’到’F’之间,则将待处理字符减0x37转换成整数值,再将此整数值乘以乘数,得到对应的数值,转入步骤4,否则,不在’A’到’F’之间,转入步骤303;
步骤303,继续判断待处理字符是否在’a’到’f’之间,如果是在’a’到’f’之间,则将待处理字符减87转换成整数值,再将此整数值乘以乘数,得到对应的数值,转入步骤4,否则,不在’a’到’f’之间,则待处理字符为非法字符,打印获取输入数据错误,转入步骤2。
在本发明所述的方法中,所述步骤3中,若待处理字符为2、8或10进制,则具体是这样实现的:
判断待处理字符是否在’0’到’N-1’之间,如果是在’0’到’N-1’之间,则将待处理字符减0x30转换成整数值,再将此整数值乘以乘数,得到对应的数值,转入步骤4,否则,不在’0’到’N-1’之间,则待处理字符为非法字符,打印获取输入数据错误,转入步骤2。
采用本发明所述方法,与现有技术相比,能够有效地获取串行接口输入的数据,不处理由于误操作输入的无效数据,不受下一次打印等非键盘输入的影响,操作简单可靠,不但提高了系统获取数据的效率和准确度,还简化用户操作,提高了人机交互场合的用户满意度。
附图说明
图1为实现本发明所述方法的主要流程图。
具体实施方式
本发明的主要技术思想是能够有效的解决上述串行接口输入过程中的问题,本发明中,从串行接口获取输入的有效字符,再将获取的有效字符根据输入的不同进制转换成相应的数据。
本发明所述方法主要包括如下步骤:
1)从串行接口选择待输入数据的进制数,有效进制包括2、8、10、16进制;
2)从串行接口获取输入的有效字符,直到遇到字符串结束符、换行符、或达到指定的最大字符数
3)将乘数置1并将输入数据的总数据值清零;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710111261.0/2.html,转载请声明来源钻瓜专利网。