CN114416604A - 串口调试方法、装置、电子设备及存储介质 - Google Patents
串口调试方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114416604A CN114416604A CN202210328648.6A CN202210328648A CN114416604A CN 114416604 A CN114416604 A CN 114416604A CN 202210328648 A CN202210328648 A CN 202210328648A CN 114416604 A CN114416604 A CN 114416604A
- Authority
- CN
- China
- Prior art keywords
- serial port
- threads
- debugged
- debugging
- serial
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5018—Thread allocation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种串口调试方法、装置、电子设备及存储介质,该方法包括:创建与待调试串口对应的若干线程,并建立所述待调试串口与所述若干线程之间的对应关系;获取与所述待调试串口对应的执行用例,其中一执行用例对应一待调试串口;基于所述若干线程,执行所述执行用例对所述待调试串口进行调试。实现了在串口调试的过程中,达到批量控制串口调试的效果,增加单位时间内可调试的数量,提高了串口调试效率。
Description
技术领域
本申请涉及串口通信及调试技术领域,尤其涉及一种串口调试方法、装置、电子设备及存储介质。
背景技术
目前常用的串口调试类桌面应用,在进行串口调试等操作时,每次只能控制一个串口接收和发送相关数据以满足调试等需求。而实际上,由于多串口应用的存在,使得在对对串口应用进行调试时,若一个一个的逐个对串口进行控制来完成对串口的调试,则需要耗费大量的人力和时间,导致工作效率较为低下。
发明内容
本申请实施例的目的是提供一种串口调试方法、装置、电子设备及存储介质,提高多串口调试的工作效率。
在第一方面,为实现上述目的,本申请实施例提供了一种串口调试方法,包括:
创建与待调试串口对应的若干线程,并建立所述待调试串口与所述若干线程之间的对应关系;
获取与所述待调试串口对应的执行用例,其中,一执行用例对应一待调试串口;
基于所述若干线程,执行所述执行用例对所述待调试串口进行调试。
在第二方面,为了解决相同的技术问题,本申请实施例提供了一种串口调试装置,包括:
线程创建模块,用于创建与待调试串口对应的若干线程,并建立所述待调试串口与所述若干线程之间的对应关系;
用例管理模块,用于获取与所述待调试串口对应的执行用例,其中,一执行用例对应一待调试串口;
串口调试模块,用于基于所述若干线程,执行所述执行用例对所述待调试串口进行调试。
在第三方面,为了解决相同的技术问题,本申请实施例提供了一种电子设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述存储器与所述处理器耦接,且所述处理器执行所述计算机程序时,实现上述任一项所述的串口调试方法中的步骤。
在第四方面,为了解决相同的技术问题,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在的设备执行上述任一项所述的串口调试方法中的步骤。
本申请实施例提供了一种串口调试方法、装置、电子设备及存储介质,该方法在进行多串口的调试时,根据需要调试的串口的相关信息,创建一定数量的线程,并且建立待调试串口与线程之间的对应关系,同时对于需要进行调试的待调试串口设置好相应的执行用例,进而在进行调试时,控制各线程同时执行对应的执行用例,以完成对多串口的调试。实现了在串口调试的过程中,通过多线程和/或重复循环的方式,达到批量控制串口调试的效果,增加单位时间内可调试的数量,提高了串口调试效率。
附图说明
图1为本申请实施例提供的串口调试系统的的一框架示意图;
图2为本申请实施例提供的串口调试方法的步骤的一流程示意图;
图3为本申请实施例提供的创建线程的步骤的一流程示意图;
图4为本申请实施例提供的建立线程与串口之间对应关系的步骤的一流程示意图;
图5为本申请实施例提供的串口调试装置的一种结构示意图;
图6为本申请实施例提供的电子设备的一种结构示意图;
图7为本申请实施例提供的电子设备的另一种结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应当理解的是,本申请公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本申请公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
请参照图1,图1为本申请实施例提供的串口调试系统的的一框架示意图。
如图1所示,该串口调试系统100包括:检测单元/输入单元101、数据分析单元102、事件处理单元103、控制单元104、日志单元105以及显示单元106,对于不同的单元模块,所执行的功能有所不同。
其中,检测单元/输入单元101用于检测端口,监听全局异常、用户事件;数据分析单元102用于解析检测单元/输入单元单向传输过来的数据,返回解析后的数据和对应的状态标识;事件处理单元103用于根据解析后的数据和对应的状态标识向控制单元分发事件;控制单元104是用于控制串口打开、关闭、发送以及接收等功能;日志单元105用于输出控制单元所执行过的事件日志;显示单元106用于提供可视化界面来展示相关信息。
在实际的使用过程中,不同单元和模块的实现可以如下。
示例性地,检测单元/输入单元101检测PC当前端口,将检测数据发送给数据分析单元102,数据分析单元102从所有端口中筛选出串口,发送给显示单元106,显示单元106将串口显示在可视化界面上供用户批量选择。
示例性地,检测单元/输入单元101监听到异常或用户事件,将异常数据或用户事件发送给数据分析单元102,数据分析单元102根据异常数据生成状态标识,发送给事件处理单元103,事件处理单元103根据状态标识向控制单元104分发事件,控制单元104执行事件关联至显示单元。
示例性地,全局异常举例:监听到串口禁止访问的异常,向控制单元104分发异常事件,显示单元106控制可视化界面弹出该串口禁止访问的提示。
示例性地,用户事件举例:监听到打开串口的用户事件,向控制单元104分发打开串口事件,控制单元104执行事件的同时,显示单元106改变对应按钮、串口选项的状态。
示例性地,监听到用户批量控制串口时,事件处理单元103可以对控制单元104分发以下事件其中的一个:
比如,打开对应串口数量的线程,每个线程对对应的串口执行统一的控制动作;开启定时器,绑定超时事件循环用户选中的串口,每次循环对串口执行同一的控制动作。
示例性地,控制单元104执行发送、接收动作时,日志单元105将所选串口的唯一标识(device)、执行动作的当前时间戳和发送或接收的数据拼接成字符串,显示在可视化界面上。
在实际应用中,在需要进行串口的调试时,可以是通过系统中的相关单元对应用的使用情况进行分析处理,进而确定需要进行调试的串口,还可以是在应用的初始化或者相关操作时,需要对若干串口进行调试,进而确定需要进行调试的串口。而在需要进行串口的调试时,通过控制单元104的处理实现对串口的调试。
参照图2,图2为本申请实施例提供的串口调试方法的步骤的一流程示意图。其中,该步骤包括步骤S201至步骤S203。
步骤S201、创建与待调试串口对应的若干线程,并建立所述待调试串口与所述若干线程之间的对应关系。
在实际应用中,需要进行调试的串口是可以根据应用的实际使用需求来确定,还可以根据应用的实际运行情况来确定,但是均会得到需要进行调试的串口,也就是待调试串口。而在确定了需要进行调试的待调试串口之后,需要根据每个串口的调试方式和规则对其进行调试。
在一实施例中,在进行串口调试时,在确定了待调试串口之后,创建与待调试串口对应的若干线程,并且对于每一个线程都会建立与串口之间的对应关系。具体地,由于需要进行调试的串口的数量若干且不做限制,因此会存在有大量需要进行调试的串口。此时通过创建一定数量的线程来实现串口的调试。由于线程之间的相互不受影响,因此可以实现多串口的同时调试。
对于待调试串口的选择,在前述描述的系统中,由于显示单元的存在,使得可以可视化的对所有需要进行控制和调节的信息进行展示,而在需要进行串口调试时,在显示界面上会对存在有调试需求的串口进行显示,也就是可以通过在显示界面的查看,知晓哪些串口当前需要进行调试。因此,此时在确定待调试串口时,调试人员可以在显示界面上进行选择,比如勾选和确定,确定当前需要进行调试的串口。
在实际应用中,系统中并行运行的线程的数量越多,对系统的性能要求也会越高,同时对系统的运行负载也会越高,因此在创建与待调试串口对应的线程时,还需要合理的创建线程,参照图3,图3为本申请实施例提供的创建线程的步骤的一流程示意图,其中该步骤包括步骤S301至步骤S303。
步骤S301、接收输入的选择指令,并根据所述选择指令确定待调试串口以及所述待调试串口的串口数量;
步骤S302、确定可创建线程的线程数量,并基于所述串口数量创建若干线程;
步骤S303、根据所述待调试串口的串口信息,建立所述待调试串口与所述若干线程之间的对应关系。
为了保证系统运行的高效性和稳定性等,用来执行不同功能的线程的数量不是无止境的创建的,也就是对与所创建的线程有一定的数量限制,而具体数量的限制可以根据系统的实际运行的性能来确定。
在一实施例中,在接收输入的选择指令来确定待调试串口时,根据选择指令确定当前需要进行调试的待调试串口以及待调试串口的串口数量,同时确定当前可创建线程的线程数量,并且根据串口数量以及线程数量,创建相应的若干线程,其中所创建的若干线程的数量与串口数量和/或线程数量有关,进而在根据待调试串口的串口信息,建立待调试串口与所创建的若干线程之间的对应关系。
实际地,在确定待调试串口时,通过接收输入的选择指令,确定待调试串口的串口信息,同时通过对待调试串口进行计数等操作,得到待调试串口的串口数量,接着来创建线程实现线程与串口之间的对应。
由于系统中当前可创建线程的数量是根据实际的运行状态确定的,因此通过读取当前正在运行的线程的数量以及可设定的线程阈值,确定当前可创建线程的线程数量,如线程阈值为50,正在运行线程的数量为20,那么此时可创建线程的线程数量为50-20=30,也就是最多可以创建30条线程来执行串口调试。
显然,待调试串口的串口数量是任意的,也就是串口数量与可创建线程的线程数量之间的大小关系是不确定的,因此在创建线程时通过与待调试串口的串口数量进行对比,确定当前需要创建的线程的数量。
示例性地,在创建线程时,包括:确定可创建线程的线程数量,并将所述串口数量与所述线程数量进行比较;若所述线程数量大于或者等于所述串口数量,则创建数量与所述串口数量相同的若干线程;若所述线程数量小于所述串口数量,则创建所述若干线程,其中,所述若干线程的数量与所述可创建线程的线程数量相同。具体地,在线程数量不少于串口数量时,可以创建与串口数量相同的线程,而在线程数量少于串口数量时,直接创建与线程数量相同的线程。比如,在可创建线程的线程数量为60,待调试串口的串口数量为50时,此时直接创建50条线程来执行串口的调试;而在可创建线程的线程数量为60,而待调试串口的串口数量为70时,此时所创建的线程的数量为60,用于执行串口的调试。
在完成线程的创建之后,根据待调试串口的串口信息,建立待调试串口与所创建的若干线程之间的对应关系。具体地,串口信息中可以包含有串口ID,同时对于线程而言,也可以带有相关的标识,如线程ID(可以是数字和/或字母),且每个标识都是唯一的,然后通过两者之间的对应关联,使得在进行串口调试时能准确的运行对应串口的执行用例,或者准确的完成数据的发送和接收等。
在一实施例中,对于待调试串口的串口数量与可创建线程的线程数量之间的大小关系是不确定的,因此,在创建线程时需要将串口数量与线程数量进行对比,来确定所创建的若干线程的具体情况,并且建立线程与串口之间的对应关系。
示例性地,在建立对应关系时,包括:若所述线程数量大于或者等于所述串口数量,则建立所述待调试串口与所述若干线程之间的对应关系;若所述线程数量小于所述串口数量,则获取所述串口信息中包含的调试优先级,并基于所述调试优先级建立所述待调试串口与所述若干线程之间的对应关系。
在串口数量小于或者等于线程数量时,所创建的线程的实际数量与串口数量相同,此时可以直接建立串口与线程之间的对应关系,而线程与串口之间的对应关系的建立,可以是随机的,可以是按照其他方式来确定的,在此不作限制。
但是,由于所创建的线程的数量可能会比需要进行调试的串口的数量少,因此在建立线程与串口之间的对应关系时,会存在有部分串口不会分配和关联有相应的线程,因此在此时可以根据串口的相关信息来确定给哪些串口关联相应的线程。示例性地,在线程数量小于串口数量时,获取串口信息中所包含的调节优先级,进而根据每一串口对应的调节优先级来确定建立线程与串口之间的对应关系。
具体地,参照图4、图4为本申请实施例提供的建立线程与串口之间对应关系的步骤的一流程示意图。其中,该步骤包括步骤S401至步骤S403。
步骤S401、读取所述待调试串口中每一串口的调试优先级,并基于所述调试优先级对所述待调试串口进行优先级排序;
步骤S402、基于所述线程数量,在排序后的所述待调试串口中选择与所述线程数量相同的第一串口集合;
步骤S403、基于串口标识以及线程标识,建立所述第一串口集合中每一串口与所述若干线程之间的对应关系,其中,所述待调试串口包含有所述串口标识,所述若干线程中每一线程包含有所述线程标识。
根据前述描述可以知道,在当前可使用线程的数量较少时,会存在有部分串口分配不到线程的情况,在实际应用中,在进行线程分配时,可以直接随机进行分配,比如线程数量为50,串口数量为60,那么可以直接随机的将50个线程分配给60个串口中的50个串口。而为了系统更好的运行,可以对线程分配的方式进行一定的调整处理。
在一实施例中,在确定线程数量小于待调试串口的串口数量时,读取待调试串口中每一串口的调试优先级,其中调试优先级越高说明该待调试串口越需要进行调试,在得到每一串口的调试优先级时,可以按照优先级的高低进行优先级排序,且最大调试优先级排在第一位,然后在基于可创建的线程数量。在排序后的待调试串口中选择与线程数量相同的第一串口集合,其中第一串口集合中所包含的串口的数量与线程数量相同,进而基于串口标识与线程标识,建立第一串口集合中每一串口与所创建的线程之间的对应关系,进而在进行调试时,可以通过控制线程执行对应串口所关联的执行用例,实现对串口的调试。
线程与串口之间的对应关系的建立,是为了便于串口的调试,通过建立一一对应的关系,使得在进行调试时可以同时控制线程执行对应的执行用例,如数据的接收和发送等。
步骤S202、获取与所述待调试串口对应的执行用例,其中一执行用例对应一待调试串口。
对于每一个串口,其所对应的调试数据会有所差异,比如执行用例的差异性,因此在进行串口调试之前,需要针对需要进行调试的串口设定好相应的执行用例,进而在进行调试时,通过执行每一串口的执行用例实现对串口的调试。
步骤S203、基于所述若干线程,执行所述执行用例对所述待调试串口进行调试。
在基于所创建的线程实现串口调试时,通过控制每一线程执行所关联串口所对应的执行用例,来实现串口的调试。而由于待调试串口的串口数量与可创建线程的线程数量的差异性,使得在进行调试的过程中,会存在有一定的差异性。具体地,包括:若所述线程数量大于或者等于所述串口数量,则控制所述若干线程中每一线程执行对应的执行用例,并在所述待调试串口中每一串口均调试完成时发出调试完成的提示信息;若所述线程数量小于所述串口数量,则控制所述若干线程中每一线程执行对应的执行用例,并根据每一线程的执行状态更新所述若干线程与所述待调试串口之间的对应关系,其中所述执行状态包括运行中和空闲。
在一实施例中,在可创建线程的线程数量大于或者等于待调试串口的串口数量时,说明在创建线程时,可以给每一个串口分配一个线程,因此在进行调试时,每一个线程通过执行各自所关联的串口所对应的执行用例,并在执行用例执行完成时完成对串口的调试。
而在可创建线程数量小于待调试串口的串口数量时,说明在创建线程以及进行线程分配时,并不是每一个串口都可以分配到对应的线程,因此此时在进行串口调试时,需要在调试过程中进行实时的更新和再分配,使得对于暂未分配线程的待调试串口可以在调试过程中通过线程的分配,实现串口的调试。具体地,包括:当检测到所述若干线程中第一线程完成对应串口的调试时,释放所述第一线程,并在第二串口集合中选择第一串口建立与所述第一线程之间的对应关系,其中,所述待调试串口包括所述第一串口集合与所述第二串口集合;当检测到所述第一串口与所述第一线程的对应关系建立完成时,控制所述第一线程执行所述第一串口对应的执行用例,至所述第二串口集合中每一串口调试完成。
在执行用例的被执行过程中,对每一线程的线程状态进行监测,由于线程在完成所分配的任务之后,其状态会进行更新和调节,比如在线程执行任务时其状态为运行中,而在完成所执行的任务时其状态为空闲,而对于处于空闲状态时,线程所被关联任务被释放,说明可以重新创建一个线程来执行后续需要进行完成的任务。因此,在检测到第一线程完成对应串口的调试时,释放第一线程,并确定在释放完成之后在第二串口集合中获取第一串口,来建立第一串口与第一线程之间的对应关系,同时在完成对应关系的建立之后控制第一线程执行第一串口对应的执行用例。
另外,对于系统中所运行的线程的状态是实时监测的,在对第二串口集合中的待调试串口进行线程的再分配时,其所分配的线程可以不是与第一串口集合所对应的线程进行释放所得到的,可以在完成其他任务之后进行释放所得到的,也就是,在存在有待调试串口为被分配有线程时,只要系统中存在有线程释放,便可以重新创建一线程来进行分配处理。
在一实施例中,在基于所创建的若干线程对需要进行调试的串口进行调试时,在调试过程中,线程与串口一一对应,而为了更好的提高调试的效率等,如上述描述,需要对具体地调试状态进行监测,比如在线程数据小于所需要进行调试的串口的数量时,需要及时的释放线程以对没有进行线程分配的串口进行再分配与调试,而对于已经分配有对应的线程来完成串口调试时,需要保证其在一定的时间完成调试,而不是一直使其处于调试状态。
因此,在基于所创建的若干线程对待调试串口进行调试之后,还包括:确定所述待调试串口在所设定的时间阈值内是否完成调试;若确定存在未完成调试串口,则确定所述未完成调试串口对应的第一线程,并释放所述第一线程,其中所述未完成调试串口与所述第一线程的数量相同;创建与所述未完成调试串口对应的第二线程,并基于所述第二线程对所述未完成调试串口进行调试,其中所述未完成调试串口与所述第二线程的数量相同。
由前述描述可以知道,在整个的调试系统中设置有相应的定时器,而定时器主要用于对于线程的完成状态进行监控,同时在线程完成调试时及时的进行线程的释放,以便后续的使用。而在线程执行串口调试时,为了更好的完成串口调试,会监测每一线程执行对应的执行用例的完成情况,然后根据所得到的完成情况确定具体的处理方式,其中,完成情况包括已完成和未完成,具体地,在进行处理时,首先确定待调试串口在所设定的时间阈值内是否完成调试,其中时间阈值为定时器中所设定好的,若确定存在有未完成调试的串口时,对未完成调试的串口所对应的第一线程进行释放,且第一线程的数量与未完成调试的串口的数量相同,然后在完成线程释放之后,重新创建第二线程,并基于所创建的第二线程对未完成调试的串口再次进行调试。
示例性地,在整个的串口调试过程中,实时对串口调试的状态进行监控,以更加快速有效的完成串口调试。比如,在待调试串口的数量大于可创建线程的数量时,通过对调试状态的监控,可以在某一串口完成调试时及时进行释放和再分配,使得剩余未分配线程的串口分配相应的线程并进行串口调,达到重复循环进行线程创建和分配的效果;再比如,可以在串口调试出现异常时,如调试时间过长,通过线程释放,并对存在调试异常的串口重新分配线程,通过重复循环的进行线程分配和释放,有效的降低调试异常带来的调试效率低的问题。
在一实施例中,由于系统中设置有相应的可视化显示的单元/模块,因此在进行串口调试时,对于串口调试的相关信息可以进行实时的显示,如获取待调试串口的调试进度,并将所得到的调试进度显示在所设定的显示界面上。
综上所述,本申请实施例提供的串口调试方法,在进行多串口的调试时,根据需要调试的串口的相关信息,创建一定数量的线程,并且建立待调试串口与线程之间的对应关系,同时对于需要进行调试的待调试串口设置好相应的执行用例,进而在进行调试时,控制各线程同时执行对应的执行用例,以完成对多串口的调试。实现了在串口调试的过程中,通过多线程和/或重复循环的方式,达到批量控制串口调试的效果,增加单位时间内可调试的数量,提高了串口调试效率。
根据上述实施例所描述的方法,本实施例将从串口调试装置的角度进一步进行描述,该串口调试装置具体可以作为独立的实体来实现,也可以集成在电子设备,比如终端中来实现,该终端可以包括手机、平板电脑等。
请参见图5,图5为本申请实施例提供的串口调试装置的一种结构示意图,如图5所示,本申请实施例提供的串口调试装置500,包括:
线程创建模块501,用于创建与待调试串口对应的若干线程,并建立所述待调试串口与所述若干线程之间的对应关系;
用例管理模块502,用于获取与所述待调试串口对应的执行用例,其中,一执行用例对应一待调试串口;
串口调试模块503,用于基于所述若干线程,执行所述执行用例对所述待调试串口进行调试。
具体实施时,以上各个模块和/或单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个模块和/或单元的具体实施可参见前面的方法实施例,具体可以达到的有益效果也请参看前面的方法实施例中的有益效果,在此不再赘述。
另外,请参见图6,图6为本申请实施例提供的电子设备的一种结构示意图,该电子设备可以是移动终端如智能手机、平板电脑等设备。如图6所示,电子设备600包括处理器601、存储器602。其中,处理器601与存储器602电性连接。
处理器601是电子设备600的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或加载存储在存储器602内的应用程序,以及调用存储在存储器602内的数据,执行电子设备600的各种功能和处理数据,从而对电子设备600进行整体监控。
在本实施例中,电子设备600中的处理器601会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器602中,并由处理器601来运行存储在存储器602中的应用程序,从而实现各种功能:
创建与待调试串口对应的若干线程,并建立所述待调试串口与所述若干线程之间的对应关系;
获取与所述待调试串口对应的执行用例,其中,一执行用例对应一待调试串口;
基于所述若干线程,执行所述执行用例对所述待调试串口进行调试。
该电子设备600可以实现本申请实施例所提供的串口调试方法任一实施例中的步骤,因此,可以实现本申请实施例所提供的任一串口调试方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
请参见图7,图7为本申请实施例提供的电子设备的另一种结构示意图,如图7所示,图7示出了本申请实施例提供的电子设备的具体结构框图,该电子设备可以用于实施上述实施例中提供的串口调试方法。该电子设备700可以为移动终端如智能手机或笔记本电脑等设备。
RF电路710用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯。RF电路710可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(SIM)卡、存储器等等。RF电路710可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。上述的无线网络可包括蜂窝式电话网、无线局域网或者城域网。上述的无线网络可以使用各种通信标准、协议及技术,包括但并不限于全球移动通信系统(Global System for Mobile Communication, GSM)、增强型移动通信技术(EnhancedData GSM Environment, EDGE),宽带码分多址技术(Wideband Code Division MultipleAccess, WCDMA),码分多址技术(Code Division Access, CDMA)、时分多址技术(TimeDivision Multiple Access, TDMA),无线保真技术(Wireless Fidelity, Wi-Fi)(如美国电气和电子工程师协会标准 IEEE 802.11a, IEEE 802.11b, IEEE802.11g 和/或 IEEE802.11n)、网络电话(Voice over Internet Protocol, VoIP)、全球微波互联接入(Worldwide Interoperability for Microwave Access, Wi-Max)、其他用于邮件、即时通讯及短消息的协议,以及任何其他合适的通讯协议,甚至可包括那些当前仍未被开发出来的协议。
存储器720可用于存储软件程序以及模块,如上述实施例中串口调试方法对应的程序指令/模块,处理器780通过运行存储在存储器720内的软件程序以及模块,从而执行各种功能应用以及串口调试,即实现如下功能:
创建与待调试串口对应的若干线程,并建立所述待调试串口与所述若干线程之间的对应关系;
获取与所述待调试串口对应的执行用例,其中,一执行用例对应一待调试串口;
基于所述若干线程,执行所述执行用例对所述待调试串口进行调试。
存储器720可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器720可进一步包括相对于处理器780远程设置的存储器,这些远程存储器可以通过网络连接至电子设备700。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入单元730可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元730可包括触敏表面731以及其他输入设备732。触敏表面731,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面731上或在触敏表面731附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面731可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器780,并能接收处理器780发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面731。除了触敏表面731,输入单元730还可以包括其他输入设备732。具体地,其他输入设备732可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元740可用于显示由用户输入的信息或提供给用户的信息以及电子设备700的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元740可包括显示面板741,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板741。进一步的,触敏表面731可覆盖显示面板741,当触敏表面731检测到在其上或附近的触摸操作后,传送给处理器780以确定触摸事件的类型,随后处理器780根据触摸事件的类型在显示面板741上提供相应的视觉输出。虽然在图中,触敏表面731与显示面板741是作为两个独立的部件来实现输入和输出功能,但是在某些实施例中,可以将触敏表面731与显示面板741集成而实现输入和输出功能。
电子设备700还可包括至少一种传感器750,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板741的亮度,接近传感器可在翻盖合上或者关闭时产生中断。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于电子设备700还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路760、扬声器761,传声器762可提供用户与电子设备700之间的音频接口。音频电路760可将接收到的音频数据转换后的电信号,传输到扬声器761,由扬声器761转换为声音信号输出;另一方面,传声器762将收集的声音信号转换为电信号,由音频电路760接收后转换为音频数据,再将音频数据输出处理器780处理后,经RF电路710以发送给比如另一终端,或者将音频数据输出至存储器720以便进一步处理。音频电路760还可能包括耳塞插孔,以提供外设耳机与电子设备700的通信。
电子设备700通过传输模块770(例如Wi-Fi模块)可以帮助用户接收请求、发送信息等,它为用户提供了无线的宽带互联网访问。虽然图中示出了传输模块770,但是可以理解的是,其并不属于电子设备700的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器780是电子设备700的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器720内的软件程序和/或模块,以及调用存储在存储器720内的数据,执行电子设备700的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器780可包括一个或多个处理核心;在一些实施例中,处理器780可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解地,上述调制解调处理器也可以不集成到处理器780中。
电子设备700还包括给各个部件供电的电源790(比如电池),在一些实施例中,电源可以通过电源管理系统与处理器780逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源790还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,电子设备700还包括摄像头(如前置摄像头、后置摄像头)、蓝牙模块等,在此不再赘述。具体在本实施例中,电子设备的显示单元是触摸屏显示器,移动终端还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行一个或者一个以上程序包含用于进行以下操作的指令:
创建与待调试串口对应的若干线程,并建立所述待调试串口与所述若干线程之间的对应关系;
获取与所述待调试串口对应的执行用例,其中,一执行用例对应一待调试串口;
基于所述若干线程,执行所述执行用例对所述待调试串口进行调试。
具体实施时,以上各个模块可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个模块的具体实施可参见前面的方法实施例,在此不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。为此,本申请实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的串口调试方法中任一实施例的步骤。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本申请实施例所提供的串口调试方法任一实施例中的步骤,因此,可以实现本申请实施例所提供的任一串口调试方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种串口调试方法、装置、电子设备及存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。并且,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本申请的保护范围。
Claims (10)
1.一种串口调试方法,其特征在于,包括:
创建与待调试串口对应的若干线程,并建立所述待调试串口与所述若干线程之间的对应关系;
获取与所述待调试串口对应的执行用例,其中一执行用例对应一待调试串口;
基于所述若干线程,执行所述执行用例对所述待调试串口进行调试。
2.根据权利要求1所述的方法,其特征在于,所述创建与待调试串口对应的若干线程,并建立所述待调试串口与所述若干线程之间的对应关系,包括:
接收输入的选择指令,并根据所述选择指令确定待调试串口以及所述待调试串口的串口数量;
确定可创建线程的线程数量,并基于所述串口数量创建若干线程;
根据所述待调试串口的串口信息,建立所述待调试串口与所述若干线程之间的对应关系。
3.根据权利要求2所述的方法,其特征在于,所述确定可创建线程的线程数量,并基于所述串口数量创建若干线程,包括:
确定可创建线程的线程数量,并将所述串口数量与所述线程数量进行比较;
若所述线程数量大于或者等于所述串口数量,则创建数量与所述串口数量相同的若干线程;
若所述线程数量小于所述串口数量,则创建所述若干线程,其中,所述若干线程的数量与所述可创建线程的线程数量相同。
4.根据权利要求2所述的方法,其特征在于,所述根据所述待调试串口的串口信息,建立所述待调试串口与所述若干线程之间的对应关系,包括:
若所述线程数量大于或者等于所述串口数量,则建立所述待调试串口与所述若干线程之间的对应关系;
若所述线程数量小于所述串口数量,则获取所述串口信息中包含的调试优先级,并基于所述调试优先级建立所述待调试串口与所述若干线程之间的对应关系。
5.根据权利要求4所述的方法,其特征在于,所述获取所述串口信息中包含的调试优先级,并基于所述调试优先级建立所述待调试串口与所述若干线程之间的对应关系,包括:
读取所述待调试串口中每一串口的调试优先级,并基于所述调试优先级对所述待调试串口进行优先级排序;
基于所述线程数量,在排序后的所述待调试串口中选择与所述线程数量相同的第一串口集合;
基于串口标识以及线程标识,建立所述第一串口集合中每一串口与所述若干线程之间的对应关系,其中,所述待调试串口包含有所述串口标识,所述若干线程中每一线程包含有所述线程标识。
6.根据权利要求5所述的方法,其特征在于,所述基于所述若干线程,调用所述执行用例对所述待调试串口进行调试,包括:
若所述线程数量大于或者等于所述串口数量,则控制所述若干线程中每一线程执行对应的执行用例,并在所述待调试串口中每一串口均调试完成时发出调试完成的提示信息;
若所述线程数量小于所述串口数量,则控制所述若干线程中每一线程执行对应的执行用例,并根据每一线程的执行状态更新所述若干线程与所述待调试串口之间的对应关系,其中所述执行状态包括运行中和空闲。
7.根据权利要求6所述的方法,其特征在于,所述根据每一线程的执行状态更新所述若干线程与所述待调试串口之间的对应关系,包括:
当检测到所述若干线程中第一线程完成对应串口的调试时,释放所述第一线程,并在第二串口集合中选择第一串口建立与所述第一线程之间的对应关系,其中,所述待调试串口包括所述第一串口集合与所述第二串口集合;
当检测到所述第一串口与所述第一线程的对应关系建立完成时,控制所述第一线程执行所述第一串口对应的执行用例,至所述第二串口集合中每一串口调试完成。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述基于所述若干线程,执行所述执行用例对所述待调试串口进行调试之后,还包括:
确定所述待调试串口在所设定的时间阈值内是否完成调试;
若确定存在未完成调试串口,则确定所述未完成调试串口对应的第一线程,并释放所述第一线程,其中所述未完成调试串口与所述第一线程的数量相同;
创建与所述未完成调试串口对应的第二线程,并基于所述第二线程对所述未完成调试串口进行调试,其中所述未完成调试串口与所述第二线程的数量相同。
9.一种串口调试装置,其特征在于,包括:
线程创建模块,用于创建与待调试串口对应的若干线程,并建立所述待调试串口与所述若干线程之间的对应关系;
用例管理模块,用于获取与所述待调试串口对应的执行用例,其中,一执行用例对应一待调试串口;
串口调试模块,用于基于所述若干线程,执行所述执行用例对所述待调试串口进行调试。
10.一种电子设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述存储器与所述处理器耦接,且所述处理器执行所述计算机程序时,实现如权利要求1至8任一项所述的串口调试方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210328648.6A CN114416604A (zh) | 2022-03-31 | 2022-03-31 | 串口调试方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210328648.6A CN114416604A (zh) | 2022-03-31 | 2022-03-31 | 串口调试方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114416604A true CN114416604A (zh) | 2022-04-29 |
Family
ID=81264129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210328648.6A Pending CN114416604A (zh) | 2022-03-31 | 2022-03-31 | 串口调试方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114416604A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100064283A1 (en) * | 2008-09-09 | 2010-03-11 | International Business Machines Corporation | Method, computer program product, and hardware product for handling breakpoints in an asynchronous debug model |
CN107861817A (zh) * | 2017-11-30 | 2018-03-30 | 努比亚技术有限公司 | 基于线程阻塞的内存优化方法、移动终端及可读存储介质 |
CN110515834A (zh) * | 2019-07-26 | 2019-11-29 | Oppo广东移动通信有限公司 | 接口测试方法、装置、移动终端及存储介质 |
CN111240974A (zh) * | 2020-01-06 | 2020-06-05 | 支付宝实验室(新加坡)有限公司 | 日志输出方法、装置、电子设备及介质 |
CN112506779A (zh) * | 2020-12-10 | 2021-03-16 | 平安普惠企业管理有限公司 | 软件接口测试方法、装置、电子设备及存储介质 |
CN113257334A (zh) * | 2021-06-30 | 2021-08-13 | 四川微巨芯科技有限公司 | 固态硬盘的测试方法、装置和系统 |
-
2022
- 2022-03-31 CN CN202210328648.6A patent/CN114416604A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100064283A1 (en) * | 2008-09-09 | 2010-03-11 | International Business Machines Corporation | Method, computer program product, and hardware product for handling breakpoints in an asynchronous debug model |
CN107861817A (zh) * | 2017-11-30 | 2018-03-30 | 努比亚技术有限公司 | 基于线程阻塞的内存优化方法、移动终端及可读存储介质 |
CN110515834A (zh) * | 2019-07-26 | 2019-11-29 | Oppo广东移动通信有限公司 | 接口测试方法、装置、移动终端及存储介质 |
CN111240974A (zh) * | 2020-01-06 | 2020-06-05 | 支付宝实验室(新加坡)有限公司 | 日志输出方法、装置、电子设备及介质 |
CN112506779A (zh) * | 2020-12-10 | 2021-03-16 | 平安普惠企业管理有限公司 | 软件接口测试方法、装置、电子设备及存储介质 |
CN113257334A (zh) * | 2021-06-30 | 2021-08-13 | 四川微巨芯科技有限公司 | 固态硬盘的测试方法、装置和系统 |
Non-Patent Citations (3)
Title |
---|
唐友等: "《Java语言程序设计》", 31 July 2017, pages: 204 * |
姜维等: "《分布式网络系统与Multi-Agent系统编程框架》", 31 January 2015, pages: 240 - 241 * |
张席: "《JAVA语言程序设计教程》", 1 August 2015, pages: 171 - 177 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107291586B (zh) | 一种应用程序的分析方法和装置 | |
CN109714476B (zh) | 数据处理方法、装置、移动终端及存储介质 | |
CN109803360A (zh) | WiFi休眠控制方法、装置、电子设备及存储介质 | |
CN112415367A (zh) | 驱动芯片异常侦测方法、装置、电子设备及可读存储介质 | |
CN112199246A (zh) | 终端测试方法、装置、存储介质及移动终端 | |
CN107423598B (zh) | 一种解锁控制方法及移动终端 | |
CN114327087A (zh) | 输入事件处理方法、装置、电子设备和存储介质 | |
CN111026457B (zh) | 一种硬件配置方法、装置、存储介质及终端设备 | |
CN111045737A (zh) | 设备标识获取方法、装置、终端设备和存储介质 | |
CN110830658A (zh) | 移动终端控制方法、装置、移动终端及存储介质 | |
CN114416604A (zh) | 串口调试方法、装置、电子设备及存储介质 | |
CN115794654A (zh) | 一种测试案例分发处理方法、系统、设备及存储介质 | |
CN110995324B (zh) | 蓝牙通信方法、装置、存储介质及终端设备 | |
CN112380520B (zh) | 屏幕解锁方法、装置、存储介质及移动终端 | |
CN115348256A (zh) | 入账数据下传方法、装置、存储介质及电子设备 | |
CN114489354A (zh) | 按键事件处理方法、装置、存储介质及终端 | |
CN114518718A (zh) | 设备控制方法、装置、存储介质及电子设备 | |
CN112764564B (zh) | 触控信息的处理方法、装置、存储介质及电子设备 | |
CN116414630A (zh) | 设备测试方法、装置、电子设备及计算机可读存储介质 | |
CN114490134A (zh) | 事件处理方法、系统、装置、计算机设备和存储介质 | |
CN110633192B (zh) | 测试方法、测试装置、终端设备及计算机可读存储介质 | |
CN109831770B (zh) | 移动终端的配对方法、装置、存储介质及移动终端 | |
CN107066861B (zh) | 一种指纹事件的处理方法及移动终端 | |
CN112905336A (zh) | 数据采集方法、装置、设备及存储介质 | |
CN108073832B (zh) | 一种数据安全保护方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220429 |
|
RJ01 | Rejection of invention patent application after publication |