CN107423654A - 一种接收不定长条形码的方法 - Google Patents
一种接收不定长条形码的方法 Download PDFInfo
- Publication number
- CN107423654A CN107423654A CN201710685033.8A CN201710685033A CN107423654A CN 107423654 A CN107423654 A CN 107423654A CN 201710685033 A CN201710685033 A CN 201710685033A CN 107423654 A CN107423654 A CN 107423654A
- Authority
- CN
- China
- Prior art keywords
- bar code
- code
- thread
- asynchronous thread
- information code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1413—1D bar codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/10544—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
- G06K7/10821—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Electromagnetism (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Communication Control (AREA)
Abstract
本发明属于电子产品软件技术领域,其公开了一种接收不定长条形码的方法,兼容接收不定长度和不同结束符的条形码。该方法包括以下步骤:a.接收端在接收到不定长条形码的第一个信息码后,创建一个延时启动的异步线程,所述异步线程用于执行对条形码的检查和存储操作;b.当接收端再次接收到信息码时,判断当前是否已经存在延时启动的异步线程,若是,则关闭该线程,然后执行步骤c,否则,直接进入步骤c;c.将本次接收的信息码与之前接收的信息码进行合并,创建新的延时启动的异步线程;d.重复步骤b和c,直至超过所述延时启动的异步线程的延时时间,异步线程执行对条形码的检查和存储操作。
Description
技术领域
本发明属于电子产品软件技术领域,具体涉及一种接收不定长条形码的方法。
背景技术
当前很多电子产品都有一个条形码作为产品唯一性身份ID,同时这个条形码ID需要保存到电子设备的存储器中,方便厂家售后备查,维修确认,运营记录等。由于海外市场针对不同地区和客户,他们条形码编制的长度和格式不同,同时使用扫条码录入的设备也不同,就导致电子产品在接收存储条形码的时候,不能很好的兼容。由于长度不定,接收端不知在接收多少个信息码的时候结束接收,进行校验存储。当然有些条码编制带有结束符,但是有些条码编制没有结束符,不同客户的条形码编制使用的结束符也不统一,同时有些扫描条形码的设备可以自己自由设置不同结束符。这些不确定因素都给产品统一接收存储条形码带来困难。
发明内容
本发明所要解决的技术问题是:提出一种接收不定长条形码的方法,兼容接收不定长度和不同结束符的条形码。
本发明解决其技术问题所采用的技术方案是:
一种接收不定长条形码的方法,包括以下步骤:
a.接收端在接收到不定长条形码的第一个信息码后,创建一个延时启动的异步线程,所述异步线程用于执行对条形码的检查和存储操作;
b.当接收端再次接收到信息码时,判断当前是否已经存在延时启动的异步线程,若是,则关闭该线程,然后执行步骤c,否则,直接进入步骤c;
c.将本次接收的信息码与之前接收的信息码进行合并,创建新的延时启动的异步线程;
d.重复步骤b和c,直至超过所述延时启动的异步线程的延时时间,异步线程执行对条形码的检查和存储操作。
作为进一步优化,所述延时启动的异步线程的延时启动时间远大于相邻两个信息码的处理时间间隔。
作为进一步优化,步骤d中,在执行对条形码的检查和存储操作时,若发现接收的信息码中有结束符时,过滤所述结束符。
本发明的有益效果是:
可以兼容不定长的条形码的接收存储:在顺序接收条形码的信息码的时候,采用延时异步线程来检查和存储条形码,这个异步线程的执行延时远大于处理两个信息码的时间间隔,因此,在异步线程执行之前,若继续接收到下一个信息码,就可以判定条形码的接收还没有结束,就终止此异步线程,在接收到新的信息码后,再创建新的延时异步线程,一直重复此操作,直到接收不到信息码,然后延时时间结束,表示接收完整的条形码结束,就会执行检查和存储条形码的动作。此方法使得整机可以兼容接收不同客户的不同长度条形码,同时效率高。
附图说明
图1为本发明中的接收不定长条形码的方法流程图。
具体实施方式
现在的通用扫描条形码设备都是通过USB接口和接收端连接,当扫描设备的扫描抢通过红外线反射识别到条形码,将条形码信息通过USB口依次顺序发给接收设备,对于不定长的条形码,接收端在每收到一个信息码的时候,无法判断是否是最后一个信息码,无法判断条形码发送是否结束,应用就不知道后续如何处理。现有技术中有部分条形码采用结束符来判断,而另一部分条形码编制的时候没有结束符,此外,采用结束符的条形码对结束符的设置也多种多样。因此,本发明就是要解决不定长条形码接收的兼容性问题。
如图1所示,本发明中的接收不定长条形码的方法,包括以下步骤:
a.接收端在接收到不定长条形码的第一个信息码后,创建一个延时启动的异步线程,所述异步线程用于执行对条形码的检查和存储操作;
b.当接收端再次接收到信息码时,判断当前是否已经存在延时启动的异步线程,若是,则关闭该线程,然后执行步骤c,否则,直接进入步骤c;
c.将本次接收的信息码与之前接收的信息码进行合并,创建新的延时启动的异步线程;
d.重复步骤b和c,直至超过所述延时启动的异步线程的延时时间,异步线程执行对条形码的检查和存储操作。
根据上述方案,在信息码的接收过程中,只要是在延时启动的异步线程的延时时间内接收到信息码,就说明条形码的接收未结束,因此都要对已经存在的异步线程进行关闭,在本次接收的信息码进行处理(与之前的信息码合并)后,重新创建新的异步线程,此时延时时间重新计时,直至接收到某一个信息码后创建的异步线程的延时时间到达,由于本发明中的延时时间的设置远大于相邻两个信息码的处理时间间隔,说明条形码接收完整,此时执行异步线程中的对条形码检查和存储的操作。在检查时,如果有结束符,就将结束符过滤掉,因为结束符号通常是格式字符。然后将真实的条形码存储到存储设备中。
通过上述方案就可以接收1~n任意长度的条形码,也不管条形码是否带结束符,也可以忽略结束符是什么。同时接收比较节省时间,在实际操作中效率比较高。比定长和带有固定结束符的条形码更灵活具有兼容性。
实施例:
以智能电视接收条形码为例,该方法在具体实施上包括以下步骤:
1.整机接收端启动接收条形码的显示界面,准备接收条形码。扫描设备将扫描识别到的条形码通过USB发给整机接收端。整机端的***会转成遥控码来处理。
2.整机端的应用处理接收两个信息码的时间间隔为t=15ms,在收到第一个信息码,会去创建一个延时的异步线程,延时时间为T=300ms,延时的时间远大于处理两个信息码之间的时间t。就是在收到下一个信息码处理时,上一个信息码创建的异步延时线程还在等待执行。
3.在延时时间内收到下一个信息码,就会马上关闭异步延时线程,将收到的信息码和之前收到的合并一起,再创建一个新的延时异步线程;
4.重复第3步,直到等待延时300ms时间结束,还没有信息码发送过来,就当是条形码已经发送结束,触发异步线程去执行检查和存储条形码。在存储之前会对条形码的末尾进行过滤处理.如果是显示字符,则不予处理,如果是格式结束字符就过滤掉。然后将真正的条形码存储到整机的EEPROM中。
Claims (3)
1.一种接收不定长条形码的方法,其特征在于,包括以下步骤:
a.接收端在接收到不定长条形码的第一个信息码后,创建一个延时启动的异步线程,所述异步线程用于执行对条形码的检查和存储操作;
b.当接收端再次接收到信息码时,判断当前是否已经存在延时启动的异步线程,若是,则关闭该线程,然后执行步骤c,否则,直接进入步骤c;
c.将本次接收的信息码与之前接收的信息码进行合并,创建新的延时启动的异步线程;
d.重复步骤b和c,直至超过所述延时启动的异步线程的延时时间,异步线程执行对条形码的检查和存储操作。
2.如权利要求1所述的一种接收不定长条形码的方法,其特征在于,所述延时启动的异步线程的延时启动时间远大于相邻两个信息码的处理时间间隔。
3.如权利要求1所述的一种接收不定长条形码的方法,其特征在于,步骤d中,在执行对条形码的检查和存储操作时,若发现接收的信息码中有结束符时,过滤所述结束符。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710685033.8A CN107423654B (zh) | 2017-08-11 | 2017-08-11 | 一种接收不定长条形码的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710685033.8A CN107423654B (zh) | 2017-08-11 | 2017-08-11 | 一种接收不定长条形码的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107423654A true CN107423654A (zh) | 2017-12-01 |
CN107423654B CN107423654B (zh) | 2020-06-09 |
Family
ID=60437015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710685033.8A Active CN107423654B (zh) | 2017-08-11 | 2017-08-11 | 一种接收不定长条形码的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107423654B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112949332A (zh) * | 2021-02-20 | 2021-06-11 | 深圳市民德电子科技股份有限公司 | 一种条形码识读设备的瞄准器辅助识读方法及*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030236907A1 (en) * | 2002-06-24 | 2003-12-25 | Stewart James C. | Communicating via a connection between a streaming server and a client without breaking the connection |
CN101556564A (zh) * | 2008-04-11 | 2009-10-14 | 联芯科技有限公司 | 数据接收/发送方法和装置 |
CN202171812U (zh) * | 2011-07-05 | 2012-03-21 | 北京爱创科技股份有限公司 | 条形码识别装置 |
CN106326157A (zh) * | 2015-06-30 | 2017-01-11 | 深圳市科陆电子科技股份有限公司 | 一种接收串口不定长数据的方法及装置 |
-
2017
- 2017-08-11 CN CN201710685033.8A patent/CN107423654B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030236907A1 (en) * | 2002-06-24 | 2003-12-25 | Stewart James C. | Communicating via a connection between a streaming server and a client without breaking the connection |
CN101556564A (zh) * | 2008-04-11 | 2009-10-14 | 联芯科技有限公司 | 数据接收/发送方法和装置 |
CN202171812U (zh) * | 2011-07-05 | 2012-03-21 | 北京爱创科技股份有限公司 | 条形码识别装置 |
CN106326157A (zh) * | 2015-06-30 | 2017-01-11 | 深圳市科陆电子科技股份有限公司 | 一种接收串口不定长数据的方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112949332A (zh) * | 2021-02-20 | 2021-06-11 | 深圳市民德电子科技股份有限公司 | 一种条形码识读设备的瞄准器辅助识读方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN107423654B (zh) | 2020-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112104654B (zh) | 多协议自动识别与转换方法,存储介质及智能网关 | |
CN108090198B (zh) | 图数据库创建及数据加载方法、设备及介质 | |
US7787668B2 (en) | Method for capturing and mapping fingerprint images and the apparatus for the same | |
CN107980233A (zh) | 蓝牙pos终端的自动测试方法、装置及*** | |
CN108153696A (zh) | 嵌入式***串口模块匹配方法、装置、介质和计算机设备 | |
CN104268500A (zh) | 一种产品的电子条码信息写入方法 | |
CN109240971A (zh) | 通信方法、装置及*** | |
CN107423654A (zh) | 一种接收不定长条形码的方法 | |
CN105320115A (zh) | 下位机车型管理方法和管理*** | |
CN106878178A (zh) | 流表下发方法、***及控制器 | |
CN106790130B (zh) | 一种报文匹配方法及装置 | |
CN111045529B (zh) | 一种数据输入方法、***及相关设备 | |
CN104330685A (zh) | 一种查线方法及查线装置 | |
US9483667B1 (en) | Dip card reader | |
CN116301676A (zh) | 一种打印设备连接方法、装置、设备及存储介质 | |
CN104700330A (zh) | 智能菜单展示*** | |
CN106792015A (zh) | 一种机顶盒序列号烧写方法及装置 | |
CN107102946B (zh) | 一种程序的检测方法、装置与电子设备 | |
CN106250789B (zh) | 一种读卡器及其对卡片上电的方法 | |
CN104794124A (zh) | 一种数据缺失补漏的智能实现方法及*** | |
CN116707714B (zh) | 支付信息传输方法、装置、计算机设备和存储介质 | |
CN102801617A (zh) | 一种基于硬件cam芯片的高效能网络数据包过滤方法 | |
TWI828217B (zh) | 於貼片後掃描識別資料以匹配電路板之系統及方法 | |
CN100388653C (zh) | 高速码流多类型数据统计总线的实现方法 | |
CN109213709A (zh) | 数据转换方法、装置及数据处理设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |