CN103365712A - 一种线程可控装置及其工作方法 - Google Patents

一种线程可控装置及其工作方法 Download PDF

Info

Publication number
CN103365712A
CN103365712A CN2013103385444A CN201310338544A CN103365712A CN 103365712 A CN103365712 A CN 103365712A CN 2013103385444 A CN2013103385444 A CN 2013103385444A CN 201310338544 A CN201310338544 A CN 201310338544A CN 103365712 A CN103365712 A CN 103365712A
Authority
CN
China
Prior art keywords
hub
variable
current
port
thread
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
Application number
CN2013103385444A
Other languages
English (en)
Other versions
CN103365712B (zh
Inventor
陆舟
于华章
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Feitian Technologies Co Ltd
Original Assignee
Feitian Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Feitian Technologies Co Ltd filed Critical Feitian Technologies Co Ltd
Priority to CN201310338544.4A priority Critical patent/CN103365712B/zh
Publication of CN103365712A publication Critical patent/CN103365712A/zh
Application granted granted Critical
Publication of CN103365712B publication Critical patent/CN103365712B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种线程可控装置及其工作方法,属于计算机技术领域。该装置包括初始化模块、选择模块、定位模块、判断模块、更新模块、创建子线程模块和操作模块,其工作方法是根据当前HUB编号选定一个当前HUB;根据当前端口编号选定当前HUB的一个当前端口;对当前HUB的当前端口进行操作,直至当前HUB的所有端口完成操作后选定下一个当前HUB,若是单线程工作方式则直至完成对所有枚举到的HUB的操作,若是多线程工作方式则直至完成对一个线程中的所有HUB的操作。本发明提出的该装置及其工作方法可以同时支持单线程、多线程的分组方式和并行方式,提高了HUB设备的通用性、灵活性,提高了生产效率,且能够准确的进行差错控制。

Description

一种线程可控装置及其工作方法
技术领域
本发明属于计算机技术领域,尤其涉及一种线程可控装置及其工作方法。
背景技术
集线器控制设备(HUB设备)是一种可以将一个USB接口扩展成为多个独立工作的USB接口的装置。
现有技术中,HUB设备作为一种数据传输通道,被广泛应用于实现多个USB 设备与上位机进行交互,但是,这种数据交互过程多是HUB设备在单线程工作方式下进行的,即上位机只能同时与HUB设备上多个USB设备的其中之一进行通信,这样,在某些特定场合的应用将影响生产效率,如工装中上位机通过HUB设备对USB产品的批量烧写。
发明内容
为解决现有技术中存在的问题,本发明提出了一种线程可控装置及其工作方法。
本发明采取的技术方案是:一种线程可控装置,包括:
初始化模块:用于初始化当前HUB编号和当前端口编号;
选择模块:用于选择工作线程;
定位模块:用于根据当前HUB编号选定一个当前HUB,根据当前端口编号选定当前HUB的一个当前端口;
判断模块:用于判断是否对当前HUB的所有端口完成操作,用于判断是否对枚举到的所有HUB完成操作;
更新模块:用于当判断模块判断是否对当前HUB的所有端口完成操作的判断结果为否时更新当前端口编号,当判断模块判断是否对枚举到的所有HUB完成操作的判断结果为是时更新当前HUB编号;
创建子线程模块:用于根据枚举到的HUB个数创建子线程;
操作模块:用于枚举HUB并记录枚举到的HUB个数,用于对当前HUB的当前端口进行操作。
当所述选择模块选择的工作线程为单线程时,所述装置还包括计算模块;所述初始化模块还用于初始化第一变量和第二变量;所述计算模块,用于将第一变量与枚举到的HUB个数做取模运算;所述根据当前HUB编号选定一个当前HUB具体为根据所述取模运算结果确定当前HUB,所述根据当前端口编号选定当前HUB的一个当前端口具体为根据第二变量的取值选定当前HUB的一个当前端口;所述判断模块还用于判断第二变量是否等于预设值;所述更新模块,还用于当所述判断模块判断第二变量是否等于预设值的判断结果为是时更新第一变量,当判断结果为否时更新第二变量。
所述初始化第一变量具体为将第一变量的初值设为第一数值,所述初始化第二变量具体为将第二变量的初值设为第二数值。
当所述选择模块选择的工作线程为多线程时,所述装置还包括计算模块;所述初始化模块还用于初始化第一变量;所述创建子线程模块还用于为创建的所有子线程编号;计算模块:用于根据第一预设公式对子线程编号计算得到第一初值,并将第一初值赋值给第一变量;用于对第一变量和HUB的端口数作整除运算,用于根据第二预设公式对第一变量计算得到第二初值,对第二初值和HUB的端口数做取模计算;所述根据当前HUB编号选定一个当前HUB具体为根据所述整除运算结果确定当前HUB,所述根据当前端口编号选定当前HUB的一个当前端口具体为所述取模计算结果确定当前端口;用于根据第三预设公式对第一变量计算得到取模运算结果;所述判断模块还用于判断计算模块根据第三预设公式对第一变量计算得到取模运算结果是否等于0;所述更新模块还用于,在根据第三预设公式对第一变量计算得到取模运算结果之前更新所述第一变量,或者在判断模块判断所述取模运算结果是否等于0的判断结果为否时更新所述第一变量。
所述预设值等于第二变量的最大取值或最小取值。
所述初始化第一变量具体为将第一变量的初值设为第一数值。
所述第一预设公式为:第一初值=子线程编号*子线程中HUB个数*HUB的端口数;所述第二预设公式为:第二初值=第一变量%HUB的端口数,所述第三预设公式为:取模运算结果=第一变量%(子线程中HUB个数*HUB的端口数),所述子线程中HUB个数等于所述枚举到的HUB个数对创建的子线程的个数的整除运算结果,其中“%”表示取模运算,“*”表示乘法运算。
所述操作模块包括:
收发单元:用于向当前HUB发送具体操作指令并接收当前HUB的返回数据;
判断单元:用于判断收发单元接收到的返回数据是否正确;
显示单元:用于当判断单元判断所述返回数据为错误时,提示出错;
获取单元:用于从返回数据中获取关键信息。
一种线程可控装置的工作方法,包括:所述装置与HUB设备连接,枚举HUB,记录枚举到的HUB个数,选择工作线程,当选择的工作线程是单线程时,直接执行步骤1至步骤6;当选择的工作线程是多线程时,先根据枚举到的HUB个数创建子线程,然后对创建的所有子线程同时开始执行步骤1至步骤6:
步骤1:初始化当前HUB编号和当前端口编号;
步骤2:根据当前HUB编号选定一个当前HUB;
步骤3:根据当前端口编号选定当前HUB的一个当前端口;
步骤4:对当前HUB的当前端口进行操作;
步骤5:判断是否对当前HUB的所有端口完成操作,是则执行步骤6,否则更新当前端口编号返回执行步骤3;
步骤6:判断是否对枚举到的所有HUB完成操作,是则返回执行步骤1,否则更新当前HUB编号返回执行步骤2。
当选择的工作线程是单线程时,所述方法还包括定义第一变量和第二变量,所述当前HUB编号根据第一变量和枚举到的HUB个数的计算结果得到,所述当前端口编号根据第二变量计算得到,所述步骤1至所述步骤6具体为:
步骤A1:初始化第一变量;
步骤A2:根据第一变量和枚举到的HUB个数的计算结果选定一个当前HUB;
步骤A3:初始化第二变量;
步骤A4:根据第二变量的取值选定当前HUB的一个当前端口;
步骤A5:对当前HUB的当前端口进行操作,操作完成后执行下一步;
步骤A6:判断第二变量是否等于预设值,是则执行步骤A7,否则更新第二变量返回执行步骤A4;
步骤A7:更新第一变量,返回执行步骤A2。
当选择的工作线程是单线程时,所述方法还包括定义第一变量和第二变量,所述当前HUB编号根据第一变量和枚举到的HUB个数的计算结果得到,所述当前端口编号根据第二变量计算得到,所述步骤1至所述步骤6具体为:
步骤A1:初始化第一变量;
步骤A2:根据第一变量和枚举到的HUB个数的计算结果选定一个当前HUB;
步骤A3:初始化第二变量;
步骤A4:判断第二变量是否等于预设值,是则执行步骤A7,否则执行步骤A5;
步骤A5:根据第二变量的取值选定当前HUB的一个当前端口;
步骤A6:对当前HUB的当前端口进行操作,操作完成后更新第二变量返回步骤A5;
步骤A7:更新第一变量,返回执行步骤A2。
所述初始化第一变量具体为将第一变量的初值设为第一数值,所述初始化第二变量具体为将第二变量的初值设为第二数值。
步骤A2所述根据第一变量和枚举到的HUB个数的计算结果选定一个当前HUB具体为:将第一变量与枚举到的HUB个数做取模运算,根据取模运算结果确定当前HUB。
步骤A6所述预设值等于第二变量的最大取值或最小取值。
步骤A6所述更新第二变量具体为将第二变量自加1或将第二变量自减1,步骤A7所述更新第一变量具体为将第一变量自加1或将第一变量自减1。
当选择的工作线程是多线程时,所述方法还包括为创建的所有子线程编号,定义第一变量,所述当前HUB编号和所述当前端口编号根据第一变量和HUB的端口数的计算结果得到,所述步骤1至所述步骤6具体为:
步骤B1:初始化第一变量;
步骤B2:根据第一预设公式对子线程编号计算得到第一初值,并将第一初值赋值给第一变量;
步骤B3:根据第一变量和HUB的端口数的计算结果选定一个当前HUB;
步骤B4:根据第二预设公式对第一变量计算得到第二初值,根据第二初值和HUB的端口数的计算结果选定当前HUB的一个当前端口;
步骤B5:对当前HUB的当前端口进行操作;
步骤B6:更新第一变量;
步骤B7:根据第三预设公式对第一变量计算得到取模运算结果,判断所述取模运算结果是否等于0,是则返回执行步骤B2,否则返回执行步骤B3。
所述步骤B6和步骤B7能具体为:根据第三预设公式对第一变量计算得到取模运算结果,判断取模运算结果是否等于0,当取模运算结果等于0且第一变量等于第一初值或者取模运算结果不等于0时更新第一变量返回执行步骤B2,当取模运算结果等于0且第一变量不等于第一初值时返回执行步骤B3。
当选择的工作线程是多线程时,所述方法还包括为创建的所有子线程编号,定义第一变量,所述当前HUB编号和所述当前端口编号根据第一变量和HUB的端口数的计算结果得到,所述步骤1至所述步骤6具体为:
步骤B1:初始化第一变量;
步骤B2:根据第一预设公式对子线程编号计算得到第一初值,并将第一初值赋值给第一变量;
步骤B3:根据第三预设公式对第一变量计算得到取模运算结果,判断所述取模运算结果是否等于0,当取模运算结果等于0且第一变量等于第一初值或者取模运算结果不等于0时执行步骤B4,当取模运算结果等于0且第一变量不等于第一初值时返回执行步骤B2;
步骤B4:根据第一变量和HUB的端口数的计算结果选定一个当前HUB;
步骤B5:根据第二预设公式对第一变量计算得到第二初值,根据第二初值和HUB的端口数的计算结果选定当前HUB的一个当前端口;
步骤B6:对当前HUB的当前端口进行操作;
步骤B7:更新第一变量,返回步骤B3。
所述第一预设公式为:第一初值=子线程编号*子线程中HUB个数*HUB的端口数;所述第二预设公式为:第二初值=第一变量%HUB的端口数,所述第三预设公式为:取模运算结果=第一变量%(子线程中HUB个数*HUB的端口数),所述子线程中HUB个数等于所述枚举到的HUB个数对创建的子线程的个数的整除运算结果,其中“%”表示取模运算,“*”表示乘法运算。
步骤B3所述根据第一变量和HUB的端口数的计算结果选定一个当前HUB具体为:根据第一变量对HUB的端口数的整除运算结果确定当前HUB,步骤B4所述根据第二初值和HUB的端口数的计算结果选定当前HUB的一个当前端口具体为:根据第二初值与HUB的端口数的取模计算结果确定当前端口。
步骤B5所述更新第一变量具体为将第一变量自加1或将第一变量自减1。
所述初始化第一变量具体为将第一变量的初值设为第一数值。
所述根据枚举到的HUB个数创建子线程满足:所述枚举到的HUB个数是创建的所述子线程的个数的倍数。
步骤4所述操作包括:获取HUB状态操作、上下电操作、获取端口电流操作、设置端口电流上限操作和烧写操作。
本发明的有益效果是:通过本发明提供的方案,可以实现根据特定场合和特定需求,控制HUB设备选择单线程工作方式或选择多线程工作方式,如在对产品进行批量烧写时可以通过选择多线程工作方式提高生产效率,采用本发明提高了HUB设备的通用性、灵活性;并且在单线程和多线程工作方式下本发明的方案都可以精确定位到HUB设备上的某一端口的USB设备的操作状态,本发明不仅提高了生产效率,而且能够准确的进行差错控制。
附图说明
图1是本发明实施例1提供的一种线程可控装置的结构图;
图2是本发明实施例2提供的一种线程可控装置的工作方法流程图;
图3是图2中步骤S3-步骤S9的具体实现方法流程图;
图4是图2中步骤S10-步骤S17的具体实现方法流程图。
具体实施方式
下面结合附图和具体实施例对本发明的技术方案作进一步解释。应该强调的是,下述说明仅仅是示例性的,而不是为了限制本发明的范围及其应用。在以下实施例中出现的公式中,其中“%”表示取模运算,“/”表示整除运算,“*”表示乘法运算,例如:a%b表示a与b做取模运算,模数为b,a/b表示a除以b并取整。
实施例1
本发明实施例1提供了一种线程可控装置,以上位机为载体,能够控制与上位机连接的HUB设备在单线程和多线程方式下工作,提高了HUB设备的通用性、灵活性,并且可以精确定位到HUB设备上的某一端口的USB设备的操作状态。如图1所示,该装置包括:
初始化模块1:用于初始化当前HUB编号和当前端口编号;
选择模块2:用于选择工作线程;
定位模块3:用于根据当前HUB编号选定一个当前HUB,根据当前端口编号选定当前HUB的一个当前端口;
判断模块4:用于判断是否对当前HUB的所有端口完成操作,用于判断是否对枚举到的所有HUB完成操作;
更新模块5:用于当判断模块4判断是否对当前HUB的所有端口完成操作的判断结果为否时更新当前端口编号,当判断模块4判断是否对枚举到的所有HUB完成操作的判断结果为是时更新当前HUB编号;
创建子线程模块6:用于根据枚举到的HUB个数创建子线程;
操作模块7:用于枚举HUB并记录枚举到的HUB个数,用于对当前HUB的当前端口进行操作。
当所述选择模块2选择的工作线程为单线程时,所述装置还包括计算模块;
所述初始化模块1还用于初始化第一变量和第二变量;
所述计算模块,用于将第一变量与枚举到的HUB个数做取模运算;所述根据当前HUB编号选定一个当前HUB具体为根据所述取模运算结果确定当前HUB,所述根据当前端口编号选定当前HUB的一个当前端口具体为根据第二变量的取值选定当前HUB的一个当前端口;
所述判断模块4还用于判断第二变量是否等于预设值;所述预设值等于第二变量的最大取值或最小取值。
所述更新模块5,还用于当所述判断模块4判断第二变量是否等于预设值的判断结果为是时更新第一变量,当判断结果为否时更新第二变量。
当所述选择模块2选择的工作线程为多线程时,所述装置还包括计算模块;
所述初始化模块1还用于初始化第一变量;
所述创建子线程模块6还用于为创建的所有子线程编号;
计算模块:用于根据第一预设公式对子线程编号计算得到第一初值,并将第一初值赋值给第一变量;用于对第一变量和HUB的端口数作整除运算,用于根据第二预设公式对第一变量计算得到第二初值,对第二初值和HUB的端口数作取模计算;所述根据当前HUB编号选定一个当前HUB具体为根据所述整除运算结果确定当前HUB,所述根据当前端口编号选定当前HUB的一个当前端口具体为根据所述取模计算结果确定当前端口;用于根据第三预设公式对第一变量计算得到取模运算结果;
所述第一预设公式为:第一初值=子线程编号*子线程中HUB个数*HUB的端口数;所述第二预设公式为:第二初值=第一变量%HUB的端口数,所述第三预设公式为:取模运算结果=第一变量%(子线程中HUB个数*HUB的端口数),所述子线程中HUB个数等于所述枚举到的HUB个数对创建的子线程的个数的整除运算结果。
所述判断模块4还用于判断计算模块根据第三预设公式对第一变量计算得到取模运算结果是否等于0;
所述更新模块5还用于,在根据第三预设公式对第一变量计算得到取模运算结果之前更新所述第一变量,或者在判断模块判断所述取模运算结果是否等于0的判断结果为否时更新所述第一变量。
进一步的,所述操作模块7包括:
收发单元:用于向当前HUB发送具体操作指令并接收当前HUB的返回数据;
本实施例中具体的,所述具体操作指令包括获取HUB状态指令、端口上电指令、端口下电指令、获取端口电流指令、设置端口电流上限指令和烧写指令。
判断单元:用于判断收发单元接收到的返回数据是否正确;
具体的,当发送的是获取HUB状态指令时,接收到的是第一返回数据,所述第一返回数据由状态码和HUB状态信息组成,其中HUB状态信息包括:电流值、端口状态、电流上限、端口电压、HUBID、端口ID号等,共68个字节;其中HUBID的长度占2个字节。判断第一返回数据是否正确具体为判断第一返回数据中的状态码是否为9000,是则正确,否则报错。
当发送的是端口下电指令时,接收到的是第二返回数据;所述第二返回数据由状态码组成,所述判断第二返回数据是否正确具体为判断第二返回数据中的状态码是否为9000,是则正确,否则报错。
当发送的是端口上电指令时,接收到的是第三返回数据;所述第三返回数据由状态码组成,所述判断第三返回数据是否正确具体为第三返回数据中的状态码是否为9000,是则正确,否则报错,显示单元屏幕显示出错的当前HUBID和当前端口号;
当发送的是设置电流上限指令时,接收到的是第四返回数据;所述第四返回数据由状态码组成,所述判断第四返回数据是否正确具体为判断第四返回数据中的状态码是否为9000,是则正确,否则报错,显示单元屏幕显示出错的当前HUBID和当前端口号;。
当发送的是获取当前端口电流指令时,接收到的是第五返回数据;所述第五返回数据由状态码和当前端口电流值组成。所述判断第五返回数据是否正确,具体为判断第五返回数据中的状态码是否为9000,是则正确,否则报错,显示单元屏幕显示出错的当前HUBID和当前端口号;
当发送的是烧写指令时,接收到的是第六返回数据;所述第六返回数据由状态码组成,所述判断第六返回数据是否正确具体为判断第六返回数据中的状态码是否为9000,是则正确,否则报错,显示单元屏幕显示出错的当前HUBID和当前端口号;
显示单元:用于当判断单元判断所述返回数据为错误时,提示出错;
获取单元:用于从返回数据中获取关键信息;
具体的,从第一返回数据中获取HUB状态信息,从第五返回数据中获取当前端口电流值。
本事实例中所述更新第二变量具体为将第二变量自加1或将第二变量自减1,所述更新第一变量具体为将第一变量自加1或将第一变量自减1。
实施例2
在实施例1的基础上,本发明实施例2提供了一种线程可控装置的工作方法,该方法包括:
装置与HUB设备连接,枚举HUB,记录枚举到的HUB个数,选择工作线程,当选择的工作线程是单线程时,直接执行步骤1至步骤6;当选择的工作线程是多线程时,先根据枚举到的HUB个数创建子线程,然后对创建的所有子线程同时开始执行步骤1至步骤6:
步骤1:初始化当前HUB编号和当前端口编号;
步骤2:根据当前HUB编号选定一个当前HUB;
步骤3:根据当前端口编号选定当前HUB的一个当前端口;
步骤4:对当前HUB的当前端口进行操作;
步骤5:判断是否对当前HUB的所有端口完成操作,是则执行步骤6,否则更新当前端口编号返回执行步骤3;
步骤6:判断是否对枚举到的所有HUB完成操作,是则返回执行步骤1,否则更新当前HUB编号返回执行步骤2。
或者还可以是,将单线程作为多线程的一个特例,当选择的工作线程是单线程或多线程时,均在执行步骤1之前包括根据枚举到的HUB个数创建子线程,对创建的所有子线程同时开始执行所述步骤1至所述步骤6,只不过单线程是根据枚举到HUB个数创建1个子线程,并对这一个子线程执行步骤1至步骤6。
本实施例中装置可以根据预先设定选择单线程或多线程的工作方式,而且当选择多线程创建子线程时,可以灵活的使用分组方式或并行方式,其中并行方式可以最大化的提高生产效率。本发明提出的该装置及其工作方法可以同时支持单线程、多线程的分组方式和并行方式。如图2所示,一种线程可控装置的工作方法,包括:
步骤S1:装置与HUB设备连接,枚举HUB,记录枚举到的HUB个数;
具体地,装置与HUB设备通过USB接口连接。
如果以HUB设备包含有4个子HUB为例,则枚举HUB具体的可以枚举到HUB设备上的4个子HUB,记录枚举到的HUB个数为4。
步骤S2:装置选择工作线程,判断所选择的工作线程,若是单线程则执行步骤S3-步骤S9,若是多线程则执行步骤S10-步骤S17;
具体地,可以预先设定对HUB设备的子HUB上连接的USB设备(例如加密锁)的具体操作采用单线程或多线程,装置根据预先设定选择工作线程。例如:在工装阶段利用该装置对加密锁进行初始化操作时选择单线程;利用该装置对加密锁进行烧写时选择多线程。需说明的是,步骤S2后的其他步骤的操作主体均为所述装置。
本步骤也可以是:装置选择工作线程然后执行步骤S10-步骤S17,即将单线程作为多线程的一个特例进行处理。
步骤S3:初始化第一变量;
本实施例中优选的,初始化第一变量是将第一变量的初值设为0。
步骤S4:根据第一变量和枚举到的HUB个数的计算结果选定一个当前HUB;
本步骤具体为:将第一变量与枚举到的HUB个数做取模运算,根据运算结果确定要操作的当前HUB。
步骤S5:初始化第二变量;
本实施例中优选的,初始化第二变量是将第二变量的初值设为0。
步骤S6:根据第二变量的取值选定当前HUB的一个当前端口;
例如,第一变量和第二变量的取值均等于0时,定位到的是第0个HUB的第0个端口。
需说明的是,在步骤S3和步骤S5的初始化中,将第一变量和第二变量初始化为0,是为了后续的计算方便,而不是限制于本流程的开始位置只能从第0个HUB的第0个端口开始操作;也可以将第一变量和第二变量的初值设为其他数值,例如,第一变量的初值设为0,第二变量的初值设为4,第一变量的初值为3,第二变量的初值为0,等等,实际应用中以计算方便为优选方式。
本实施例中后续的举例说明以及用到的计算公式均以初始化第一变量和第二变量为0介绍。
步骤S7:对当前HUB的当前端口进行操作;操作完成后执行下一步;
步骤S8:判断第二变量是否等于预设值,是则执行步骤S9,否则更新第二变量返回执行步骤S6;
本步骤具体为,判断第二变量的取值是否达到当前HUB的当前端口的最大取值即第二变量的最大取值,是则执行步骤S9,否则更新第二变量返回执行步骤S6。
本实施例中以每个子HUB具有5个端口为例,则HUB的端口数等于5,第二变量的初值为0则优选的所述预设值的取值为4,所述更新第二变量具体为将第二变量自加1。
步骤S9:更新第一变量,返回执行步骤S4;
本实施例具体的,所述更新第一变量具体为:将第一变量自加1。
进一步的,上述步骤S3-步骤S9还可以替换为以下步骤:
步骤S3’:初始化第一变量;
步骤S4’:根据第一变量和枚举到的HUB个数的计算结果选定一个当前HUB;
步骤S5’:初始化第二变量;
步骤S6’:判断第二变量是否等于预设值,是则执行步骤S9’,否则执行步骤S7’;
步骤S7’:根据第二变量的取值选定当前HUB的一个当前端口;
步骤S8’:对当前HUB的当前端口进行操作,操作完成后更新第二变量返回步骤S6’;
步骤S9’:更新第一变量,返回执行步骤S4’。
步骤S10:根据枚举到的HUB个数创建子线程,并给创建的所有子线程编号,执行所有子线程;
所述根据枚举到的HUB个数创建子线程需满足的条件是:所述枚举到的HUB个数是创建的所述子线程的个数的倍数。
本实施例具体的,枚举到的HUB个数为4,根据枚举到的HUB个数可以创建2个子线程或4个子线程,若创建2个子线程则2个子线程分别编号为0、1,若创建4个子线程则4个子线程分别编号为0、1、2、3。
步骤S11:初始化第一变量;
本实施例中优选的,初始化第一变量是将第一变量的初值设为0。
步骤S12:根据当前子线程编号计算得到第一初值,并将第一初值赋值给第一变量;
具体的,根据第一预设公式:第一初值=当前子线程编号*子线程中HUB个数*HUB的端口数,计算得到第一初值并将其赋值给第一变量。
步骤S13:根据第一变量和HUB的端口数的计算结果选定一个当前HUB;
具体的,根据第一变量对HUB的端口数的整除运算结果确定当前HUB。
步骤S14:根据第一变量计算得到第二初值,根据第二初值和HUB的端口数的计算结果选定当前HUB的一个当前端口;
具体的,根据第二预设公式:第二初值=第一变量%HUB的端口数,计算得到第二初值,根据第二初值与HUB的端口数的取模计算结果确定当前端口。其中“% ”表示第一变量与HUB的端口数的取模运算,已知的HUB的端口数等于5,即第二初值等于第一变量与5做取模运算的结果。
步骤S15:对当前HUB的当前端口进行操作;
步骤S16:更新第一变量;
本实施例具体的,所述更新第一变量具体为将第一变量自加1。
进一步的,所述更新第一变量还可以是将第一变量自减1。
步骤S17:对第一变量做取模运算,判断取模运算结果是否等于0,是则返回执行步骤S12,否则返回执行步骤S13。
具体的,根据第三预设公式:取模运算结果=第一变量%(子线程中HUB个数*HUB的端口数),计算得到取模运算结果。例如:HUB的端口数为5,若创建了2个子线程,则子线程中HUB个数为2,取模运算结果=第一变量%10,若创建了4个子线程,则子线程中HUB个数为1,取模运算结果等于第一变量的取值。
或者是,步骤S16和步骤S17的顺序调换,且调换后步骤S16和步骤S17具体为:对第一变量做取模运算,判断取模运算结果是否等于0,当取模运算结果等于0且第一变量等于第一初值或者取模运算结果不等于0时更新第一变量返回执行步骤S13,当取模运算结果等于0且第一变量不等于第一初值时返回执行步骤S12;
或者是,上述步骤S11-步骤S17还可以替换为以下步骤:
步骤S11’:初始化第一变量;
步骤S12’:根据第一预设公式对子线程编号计算得到第一初值,并将第一初值赋值给第一变量;
步骤S13’:根据第三预设公式对第一变量计算得到取模运算结果,判断所述取模运算结果是否等于0,当取模运算结果等于0且第一变量等于第一初值或者取模运算结果不等于0时执行步骤S14’,当取模运算结果等于0且第一变量不等于第一初值时返回执行步骤S12’;
步骤S14’:根据第一变量和HUB的端口数的计算结果选定一个当前HUB;
步骤S15’:根据第二预设公式对第一变量计算得到第二初值,根据第二初值和HUB的端口数的计算结果选定当前HUB的一个当前端口;
步骤S16’:对当前HUB的当前端口进行操作;
步骤S17’:更新第一变量,返回步骤S13’。
以下以对当前HUB的当前端口进行的具体操作包括获取HUB状态操作、上下电操作、获取端口电流操作、设置端口电流上限操作和烧写操作为例进行介绍,具体的装置通过向HUB设备发送具体操作指令来实现所述具体操作,上述步骤S3-步骤S9可细化为如图3所示流程,具体如下:
步骤101:初始化第一变量;
本实施例中,初始化第一变量具体为将第一变量初值设为0。
步骤102:将枚举到的HUB个数作为模数与第一变量做取模计算,并用计算结果更新第一变量;
具体的,本实施例中枚举到的HUB个数为4,根据公式:第一变量=第一变量%4,更新第一变量。
步骤103:根据第一变量确定当前HUB;
步骤104:向当前HUB发送获取HUB状态指令,等待接收当前HUB的第一返回数据;
步骤105:接收第一返回数据并判断第一返回数据是否正确,是则执行步骤106,否则报错;
具体地,所述第一返回数据由状态码和HUB状态信息组成,其中HUB状态信息包括:电流值、端口状态、电流上限、端口电压、HUBID、端口ID号等,共68个字节;其中HUBID的长度占2个字节。
所述判断第一返回数据是否正确具体为判断第一返回数据中的状态码是否为9000,是则正确,否则报错。
步骤106:根据第一返回数据获取当前HUBID;
步骤107:向当前HUB发送端口下电指令,等待接收当前HUB的第二返回数据;
步骤108:接收第二返回数据并判断第二返回数据是否正确,是则执行步骤109,否则报错;
具体地,所述第二返回数据由状态码组成,所述判断第二返回数据是否正确具体为判断第二返回数据中的状态码是否为9000,是则正确,否则报错。
步骤109:初始化第二变量;
本实施例中,初始化第二变量具体为将第二变量初值设为0。
步骤110:根据第二变量确定当前端口,向当前HUB发送端口上电指令,等待接收第三返回数据;
步骤111:接收第三返回数据并判断第三返回数据是否正确,是则执行步骤112,否则报错,屏幕显示出错的当前HUBID和当前端口号;
本实施例中通过屏幕显示出错的当前HUBID和当前端口号,可以起到差错控制的作用,例如,在批量生成中,通过在上位机的屏幕上显示出错的当前HUBID和当前端口号,准确提示操作人员进行更换或其他处理,有效避免不合格产品的漏检。
具体地,所述第三返回数据由状态码组成,所述判断第三返回数据是否正确具体为判断第三返回数据中的状态码是否为9000,是则正确,否则报错。
步骤112:向当前HUB发送设置电流上限指令,等待接收第四返回数据;
步骤113:接收第四返回数据并判断第四返回数据是否正确,是则执行步骤114,否则报错,屏幕显示出错的当前HUBID和当前端口号;
具体地,所述第四返回数据由状态码组成,所述判断第四返回数据是否正确具体为判断第四返回数据中的状态码是否为9000,是则正确,否则报错。
步骤114:向当前HUB发送获取当前端口电流指令,等待接收当前HUB的第五返回数据;
步骤115:根据第五返回数据获取当前端口电流值;
具体地,所述第五返回数据由状态码和当前端口电流值组成。
本步骤还可以包括:判断第五返回数据是否正确,具体为判断第五返回数据中的状态码是否为9000,是则正确,否则报错。
步骤116:判断当前端口电流值是否大于预设上限电流值,是则执行步骤117,否则报错,屏幕显示出错的当前HUBID和当前端口号;
本实施例中优选的,预设上限电流值为50毫安。
步骤117:向当前HUB发送烧写指令,等待接收当前HUB的第六返回数据;
步骤118:接收第六返回数据并判断第六返回数据是否正确,是则执行步骤119,否则报错,屏幕显示出错的当前HUBID和当前端口号;
具体地,所述第六返回数据由状态码组成,所述判断第六返回数据是否正确具体为判断第六返回数据中的状态码是否为9000,是则正确,否则报错。
步骤119:判断第二变量是否等于预设值,是则执行步骤120,否则执行步骤123;
具体的,所述预设值取为4。
步骤120:第一变量自加1,返回执行步骤102;
步骤121:第二变量自加1,返回执行步骤110。
以下以对当前HUB的当前端口进行的具体操作包括获取HUB状态操作、上下电操作、获取端口电流操作、设置端口电流上限操作和烧写操作为例进行介绍,具体的装置通过向HUB设备发送具体操作指令来实现所述具体操作,上述步骤S10-步骤S17可细化为如图4所示流程,具体如下:
步骤201:根据枚举到的HUB个数创建子线程,定义第三变量表示子线程编号,初始化第一变量、第二变量,执行所有子线程;
本实施例具体的,枚举到的HUB个数为4,根据枚举到的HUB个数可以创建2个子线程或4个子线程,若创建2个子线程则2个子线程顺序编号为0、1,若创建4个子线程则4个子线程顺序编号为0、1、2、3,定义第三变量表示子线程编号。初始化第一变量、第二变量具体为将第一变量和第二变量的初值设为0。
在实际应用中,优选的,当枚举到的HUB个数为N,则创建N个子线程,每个子线程有一个HUB,同时执行所有子线程则可以控制所有的HUB上连接的USB设备并行同时工作,这样可以达到生产效率最大化的效果,在USB设备产品的批量生产中可以广泛应用。
步骤202:计算第三变量乘以子线程中HUB个数乘以HUB的端口数,并用计算结果更新第一变量;
步骤203:根据第一变量和HUB的端口数的计算结果选定一个当前HUB;
具体的,根据第一变量对HUB的端口数的整除运算结果确定当前HUB。
步骤204:向当前HUB发送获取HUB状态指令,等待接收当前HUB的第一返回数据;
步骤205:接收第一返回数据并判断第一返回数据是否正确,是则执行步骤206,否则报错;
具体地,所述第一返回数据由状态码和HUB状态信息组成,其中HUB状态信息包括:电流值、端口状态、电流上限、端口电压、HUBID、端口ID号等,共68个字节;其中HUBID的长度占2个字节。
所述判断第一返回数据是否正确具体为判断第一返回数据中的状态码是否为9000,是则正确,否则报错。
步骤206:根据第一返回数据获取当前HUBID;
步骤207:向当前HUB发送端口下电指令,等待接收当前HUB的第二返回数据;
步骤208:接收第二返回数据并判断第二返回数据是否正确,是则执行步骤209,否则报错;
具体地,所述第二返回数据由状态码组成,所述判断第二返回数据是否正确具体为判断第二返回数据中的状态码是否为9000,是则正确,否则报错。
步骤209:将HUB的端口数作为模数对第一变量做取模计算,并用计算结果更新第二变量;
步骤210:根据第二变量选定当前端口,向当前HUB发送端口上电指令,等待接收第三返回数据;
具体的,根据第二变量与HUB的端口数的取模计算结果确定当前端口。
步骤211:接收第三返回数据并判断第三返回数据是否正确,是则执行步骤212,否则报错,屏幕显示出错的当前HUBID和当前端口号;
具体地,所述第三返回数据由状态码组成,所述判断第三返回数据是否正确具体为判断第三返回数据中的状态码是否为9000,是则正确,否则报错。
本实施例中通过屏幕显示出错的当前HUBID和当前端口号,可以起到差错控制的作用,例如,在批量生成中,通过在上位机的屏幕上显示出错的当前HUBID和当前端口号,准确提示操作人员进行更换或其他处理,有效避免不合格的产品的漏检。
步骤212:向当前HUB发送设置电流上限指令,等待接收第四返回数据;
步骤213:接收第四返回数据并判断第四返回数据是否正确,是则执行步骤214,否则报错,屏幕显示出错的当前HUBID和当前端口号;
具体地,所述第四返回数据由状态码组成,所述判断第四返回数据是否正确具体为判断第四返回数据中的状态码是否为9000,是则正确,否则报错。
步骤214:向当前HUB发送获取当前端口电流指令,等待接收第五返回数据;
步骤215:根据第五返回数据获取当前端口电流值;
具体地,所述第五返回数据由状态码和当前端口电流值组成。
本步骤还可以包括:判断第五返回数据是否正确,具体为判断第五返回数据中的状态码是否为9000,是则正确,否则报错。
步骤216:判断当前端口电流值是否大于预设上限电流值,是则执行步骤217,否则报错,屏幕显示出错的当前HUBID和当前端口号;
本实施例中优选的,预设上限电流值为50毫安。
步骤217:向当前HUB发送烧写指令,等待接收当前HUB的第六返回数据;
步骤218:接收第六返回数据并判断第六返回数据是否正确,是则执行步骤219,否则报错,屏幕显示出错的当前HUBID和当前端口号;
具体地,所述第六返回数据由状态码组成,所述判断第六返回数据是否正确具体为判断第六返回数据中的状态码是否为9000,是则正确,否则报错。
步骤219:第一变量自加1;
步骤220:将子线程中的HUB个数乘以HUB的端口数的计算结果作为模数,对第一变量做取模运算,判断取模运算结果是否等于0,是则返回执行步骤202,否则执行步骤221;
步骤221:判断第一变量和HUB的端口数的取模运算结果是否等于0,是则返回执行步骤203,否则返回执行步骤209。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (24)

1.一种线程可控装置,其特征是,所述装置包括:
初始化模块:用于初始化当前HUB编号和当前端口编号;
选择模块:用于选择工作线程;
定位模块:用于根据当前HUB编号选定一个当前HUB,根据当前端口编号选定当前HUB的一个当前端口;
判断模块:用于判断是否对当前HUB的所有端口完成操作,用于判断是否对枚举到的所有HUB完成操作;
更新模块:用于当判断模块判断是否对当前HUB的所有端口完成操作的判断结果为否时更新当前端口编号,当判断模块判断是否对枚举到的所有HUB完成操作的判断结果为是时更新当前HUB编号;
创建子线程模块:用于根据枚举到的HUB个数创建子线程;
操作模块:用于枚举HUB并记录枚举到的HUB个数,用于对当前HUB的当前端口进行操作。
2.如权利要求1所述的装置,其特征是,当所述选择模块选择的工作线程为单线程时,所述装置还包括计算模块;
所述初始化模块还用于初始化第一变量和第二变量;
所述计算模块,用于将第一变量与枚举到的HUB个数做取模运算;所述根据当前HUB编号选定一个当前HUB具体为根据所述取模运算结果确定当前HUB,所述根据当前端口编号选定当前HUB的一个当前端口具体为根据第二变量的取值选定当前HUB的一个当前端口;
所述判断模块还用于判断第二变量是否等于预设值;
所述更新模块,还用于当所述判断模块判断第二变量是否等于预设值的判断结果为是时更新第一变量,当判断结果为否时更新第二变量。
3.如权利要求2所述的装置,其特征是,所述初始化第一变量具体为将第一变量的初值设为第一数值,所述初始化第二变量具体为将第二变量的初值设为第二数值。
4.如权利要求1所述的装置,其特征是,当所述选择模块选择的工作线程为多线程时,所述装置还包括计算模块;
所述初始化模块还用于初始化第一变量;
所述创建子线程模块还用于为创建的所有子线程编号;
计算模块:用于根据第一预设公式对子线程编号计算得到第一初值,并将第一初值赋值给第一变量;用于对第一变量和HUB的端口数作整除运算,用于根据第二预设公式对第一变量计算得到第二初值,对第二初值和HUB的端口数做取模计算;所述根据当前HUB编号选定一个当前HUB具体为根据所述整除运算结果确定当前HUB,所述根据当前端口编号选定当前HUB的一个当前端口具体为所述取模计算结果确定当前端口;用于根据第三预设公式对第一变量计算得到取模运算结果;
所述判断模块还用于判断计算模块根据第三预设公式对第一变量计算得到取模运算结果是否等于0;
所述更新模块还用于,在根据第三预设公式对第一变量计算得到取模运算结果之前更新所述第一变量,或者在判断模块判断所述取模运算结果是否等于0的判断结果为否时更新所述第一变量。
5.如权利要求2或4所述的装置,其特征是,所述预设值等于第二变量的最大取值或最小取值。
6.如权利要求4所述的装置,其特征是,所述初始化第一变量具体为将第一变量的初值设为第一数值。
7.如权利要求4所述的装置,其特征是,所述第一预设公式为:第一初值=子线程编号*子线程中HUB个数*HUB的端口数;所述第二预设公式为:第二初值=第一变量%HUB的端口数,所述第三预设公式为:取模运算结果=第一变量%(子线程中HUB个数*HUB的端口数),所述子线程中HUB个数等于所述枚举到的HUB个数对创建的子线程的个数的整除运算结果,其中“%”表示取模运算,“*”表示乘法运算。
8.如权利要求1所述的装置,其特征是,所述操作模块包括:
收发单元:用于向当前HUB发送具体操作指令并接收当前HUB的返回数据;
判断单元:用于判断收发单元接收到的返回数据是否正确;
显示单元:用于当判断单元判断所述返回数据为错误时,提示出错;
获取单元:用于从返回数据中获取关键信息。
9.如权利要求1所述的装置的工作方法,其特征是,所述方法包括:
所述装置与HUB设备连接,枚举HUB,记录枚举到的HUB个数,选择工作线程,当选择的工作线程是单线程时,直接执行步骤1至步骤6;当选择的工作线程是多线程时,先根据枚举到的HUB个数创建子线程,然后对创建的所有子线程同时开始执行步骤1至步骤6:
步骤1:初始化当前HUB编号和当前端口编号;
步骤2:根据当前HUB编号选定一个当前HUB;
步骤3:根据当前端口编号选定当前HUB的一个当前端口;
步骤4:对当前HUB的当前端口进行操作;
步骤5:判断是否对当前HUB的所有端口完成操作,是则执行步骤6,否则更新当前端口编号返回执行步骤3;
步骤6:判断是否对枚举到的所有HUB完成操作,是则返回执行步骤1,否则更新当前HUB编号返回执行步骤2。
10.如权利要求9所述方法,其特征是:当选择的工作线程是单线程时,所述方法还包括定义第一变量和第二变量,所述当前HUB编号根据第一变量和枚举到的HUB个数的计算结果得到,所述当前端口编号根据第二变量计算得到,所述步骤1至所述步骤6具体为:
步骤A1:初始化第一变量;
步骤A2:根据第一变量和枚举到的HUB个数的计算结果选定一个当前HUB;
步骤A3:初始化第二变量;
步骤A4:根据第二变量的取值选定当前HUB的一个当前端口;
步骤A5:对当前HUB的当前端口进行操作,操作完成后执行下一步;
步骤A6:判断第二变量是否等于预设值,是则执行步骤A7,否则更新第二变量返回执行步骤A4;
步骤A7:更新第一变量,返回执行步骤A2。
11.如权利要求9所述方法,其特征是:当选择的工作线程是单线程时,所述方法还包括定义第一变量和第二变量,所述当前HUB编号根据第一变量和枚举到的HUB个数的计算结果得到,所述当前端口编号根据第二变量计算得到,所述步骤1至所述步骤6具体为:
步骤A1:初始化第一变量;
步骤A2:根据第一变量和枚举到的HUB个数的计算结果选定一个当前HUB;
步骤A3:初始化第二变量;
步骤A4:判断第二变量是否等于预设值,是则执行步骤A7,否则执行步骤A5;
步骤A5:根据第二变量的取值选定当前HUB的一个当前端口;
步骤A6:对当前HUB的当前端口进行操作,操作完成后更新第二变量返回步骤A5;
步骤A7:更新第一变量,返回执行步骤A2。
12.如权利要求10或11所述方法,其特征是:所述初始化第一变量具体为将第一变量的初值设为第一数值,所述初始化第二变量具体为将第二变量的初值设为第二数值。
13.如权利要求10或11所述方法,其特征是:步骤A2所述根据第一变量和枚举到的HUB个数的计算结果选定一个当前HUB具体为:将第一变量与枚举到的HUB个数做取模运算,根据取模运算结果确定当前HUB。
14.如权利要求10或11所述方法,其特征是:步骤A6所述预设值等于第二变量的最大取值或最小取值。
15.如权利要求10或11所述方法,其特征是:步骤A6所述更新第二变量具体为将第二变量自加1或将第二变量自减1,步骤A7所述更新第一变量具体为将第一变量自加1或将第一变量自减1。
16.如权利要求9所述方法,其特征是:当选择的工作线程是多线程时,所述方法还包括为创建的所有子线程编号,定义第一变量,所述当前HUB编号和所述当前端口编号根据第一变量和HUB的端口数的计算结果得到,所述步骤1至所述步骤6具体为:
步骤B1:初始化第一变量;
步骤B2:根据第一预设公式对子线程编号计算得到第一初值,并将第一初值赋值给第一变量;
步骤B3:根据第一变量和HUB的端口数的计算结果选定一个当前HUB;
步骤B4:根据第二预设公式对第一变量计算得到第二初值,根据第二初值和HUB的端口数的计算结果选定当前HUB的一个当前端口;
步骤B5:对当前HUB的当前端口进行操作;
步骤B6:更新第一变量;
步骤B7:根据第三预设公式对第一变量计算得到取模运算结果,判断所述取模运算结果是否等于0,是则返回执行步骤B2,否则返回执行步骤B3。
17.如权利要求16所述方法,其特征是:所述步骤B6和步骤B7能具体为:根据第三预设公式对第一变量计算得到取模运算结果,判断取模运算结果是否等于0,当取模运算结果等于0且第一变量等于第一初值或者取模运算结果不等于0时更新第一变量返回执行步骤B2,当取模运算结果等于0且第一变量不等于第一初值时返回执行步骤B3。
18.如权利要求9所述方法,其特征是:当选择的工作线程是多线程时,所述方法还包括为创建的所有子线程编号,定义第一变量,所述当前HUB编号和所述当前端口编号根据第一变量和HUB的端口数的计算结果得到,所述步骤1至所述步骤6具体为:
步骤B1:初始化第一变量;
步骤B2:根据第一预设公式对子线程编号计算得到第一初值,并将第一初值赋值给第一变量;
步骤B3:根据第三预设公式对第一变量计算得到取模运算结果,判断所述取模运算结果是否等于0,当取模运算结果等于0且第一变量等于第一初值或者取模运算结果不等于0时执行步骤B4,当取模运算结果等于0且第一变量不等于第一初值时返回执行步骤B2;
步骤B4:根据第一变量和HUB的端口数的计算结果选定一个当前HUB;
步骤B5:根据第二预设公式对第一变量计算得到第二初值,根据第二初值和HUB的端口数的计算结果选定当前HUB的一个当前端口;
步骤B6:对当前HUB的当前端口进行操作;
步骤B7:更新第一变量,返回步骤B3。
19.如权利要求16或17或18所述方法,其特征是:所述第一预设公式为:第一初值=子线程编号*子线程中HUB个数*HUB的端口数;所述第二预设公式为:第二初值=第一变量%HUB的端口数,所述第三预设公式为:取模运算结果=第一变量%(子线程中HUB个数*HUB的端口数),所述子线程中HUB个数等于所述枚举到的HUB个数对创建的子线程的个数的整除运算结果,其中“%”表示取模运算,“*”表示乘法运算。
20.如权利要求16或17或18所述方法,其特征是:步骤B3所述根据第一变量和HUB的端口数的计算结果选定一个当前HUB具体为:根据第一变量对HUB的端口数的整除运算结果确定当前HUB,步骤B4所述根据第二初值和HUB的端口数的计算结果选定当前HUB的一个当前端口具体为:根据第二初值与HUB的端口数的取模计算结果确定当前端口。
21.如权利要求16或17或18所述方法,其特征是:步骤B5所述更新第一变量具体为将第一变量自加1或将第一变量自减1。
22.如权利要求16或17或18所述方法,其特征是:所述初始化第一变量具体为将第一变量的初值设为第一数值。
23.如权利要求9所述方法,其特征是:所述根据枚举到的HUB个数创建子线程满足:所述枚举到的HUB个数是创建的所述子线程的个数的倍数。
24.如权利要求9所述方法,其特征是:步骤4所述操作包括:获取HUB状态操作、上下电操作、获取端口电流操作、设置端口电流上限操作和烧写操作。
CN201310338544.4A 2013-08-06 2013-08-06 一种线程可控装置及其工作方法 Expired - Fee Related CN103365712B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310338544.4A CN103365712B (zh) 2013-08-06 2013-08-06 一种线程可控装置及其工作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310338544.4A CN103365712B (zh) 2013-08-06 2013-08-06 一种线程可控装置及其工作方法

Publications (2)

Publication Number Publication Date
CN103365712A true CN103365712A (zh) 2013-10-23
CN103365712B CN103365712B (zh) 2016-05-25

Family

ID=49367139

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310338544.4A Expired - Fee Related CN103365712B (zh) 2013-08-06 2013-08-06 一种线程可控装置及其工作方法

Country Status (1)

Country Link
CN (1) CN103365712B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103955442B (zh) * 2014-05-04 2016-09-28 飞天诚信科技股份有限公司 一种usb设备生产装置的工作方法
CN109460239A (zh) * 2017-09-06 2019-03-12 深圳市中兴微电子技术有限公司 一种多单板烧录的方法、系统及烧录工具
CN113934439A (zh) * 2021-11-16 2022-01-14 思澈科技(重庆)有限公司 一种多通道自动识别烧录系统及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101694641A (zh) * 2009-09-28 2010-04-14 北京深思洛克软件技术股份有限公司 一种初始化通用串行总线设备的方法及系统
CN201607724U (zh) * 2009-12-30 2010-10-13 北京飞天诚信科技有限公司 一种支持多线程操作的usb hub
CN102368710A (zh) * 2011-10-17 2012-03-07 深圳市共进电子股份有限公司 一种基于局域网的网络设备软件批量升级的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101694641A (zh) * 2009-09-28 2010-04-14 北京深思洛克软件技术股份有限公司 一种初始化通用串行总线设备的方法及系统
CN201607724U (zh) * 2009-12-30 2010-10-13 北京飞天诚信科技有限公司 一种支持多线程操作的usb hub
CN102368710A (zh) * 2011-10-17 2012-03-07 深圳市共进电子股份有限公司 一种基于局域网的网络设备软件批量升级的方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103955442B (zh) * 2014-05-04 2016-09-28 飞天诚信科技股份有限公司 一种usb设备生产装置的工作方法
CN109460239A (zh) * 2017-09-06 2019-03-12 深圳市中兴微电子技术有限公司 一种多单板烧录的方法、系统及烧录工具
CN113934439A (zh) * 2021-11-16 2022-01-14 思澈科技(重庆)有限公司 一种多通道自动识别烧录系统及方法
CN113934439B (zh) * 2021-11-16 2023-09-15 思澈科技(重庆)有限公司 一种多通道自动识别烧录系统及方法

Also Published As

Publication number Publication date
CN103365712B (zh) 2016-05-25

Similar Documents

Publication Publication Date Title
EP3001331B1 (en) Method and system for ranking desktop objects
CN103868421B (zh) 一种在控制主机屏幕上显示电子雷管位置信息的方法
CN104615401A (zh) 一种基于fpga实现kvm方法
CN105556417A (zh) 用于控制电力的电子设备及其方法
JP2015511362A (ja) レガシーハードウェアおよびソフトウェアに対する強化された再ホスティング性能
CN103927256A (zh) 一种控制多个安卓装置的方法
CN103309461A (zh) 无线一对多控制装置和方法
CN102655547A (zh) 数据传输的电子设备、控制器及其控制方法
CN103365712A (zh) 一种线程可控装置及其工作方法
CN104516747A (zh) 一种系统切换方法及电子设备
CN104991767A (zh) 一种信息处理方法及电子设备
CN104143066A (zh) 用于安全性信息交互的设备
CN105515811A (zh) Usb无线网卡配置方法、主机、usb无线网卡及通信系统
CN103676880B (zh) Cmp集成控制系统的通讯模块
CN104115138A (zh) 电可配置选配板接口
CN105373422B (zh) 控制终端设备进入下载模式的方法、终端设备及计算机设备
CN105429903A (zh) 一种交换机及配置方法
CN102567251B (zh) Bios的控制方法和装置
CN113268178A (zh) 设备显控方法、装置及介质
CN109997120A (zh) 移动设备外部控制器模块
CN104461603A (zh) 一种信息处理方法及电子设备
CN104731611A (zh) 移动终端中基于应用程序的运行模式配置方法及其系统
CN106339048A (zh) 带端子式接口式串口服务器
CN102999382A (zh) 电子设备及其切换方法
Deshpande et al. Home automation using the concept of IoT

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160525

CF01 Termination of patent right due to non-payment of annual fee