一种外设控制方法及装置与流程

文档序号:17183897发布日期:2019-03-22 21:10阅读:433来源:国知局
一种外设控制方法及装置与流程

本发明涉及一种外设控制方法及装置,属于嵌入式控制领域。



背景技术:

在多线程软件中,同时控制同一个外设时存在资源竞争的问题,比如两个线程同时对血透机中的血泵进行控制,线程一需要启动血泵,线程二需要停止血泵,如果通过多线程对血泵直接下发控制指令,则可能会出现以下结果:

下位机接收指令顺序:线程一,线程二;结果:血泵停止;

下位机接收指令顺序:线程二,线程一;结果:血泵启动;

造成上述结果主要有两个原因:

1)线程的同步问题;

2)命令传输过程中延时问题;

因此线程直接对下位机下发控制指令可能会因为线程同步和命令发送延迟的问题而导致外设最终的控制结果与预期结果不同。



技术实现要素:

本发明提供一种外设控制方法及装置,使用定时器扫描接收的控制指令,根据用户输入控制指令的顺序实现对外设的控制,解决了因线程同步和/或命令传输延时导致的控制结果不可控的问题。

本发明的技术方案第一方面为一种外设控制方法,所述方法包括以下步骤:

a、通过上位机接收用户输入的控制指令,并发送至用于与下位机交互的定时器;

b、使用定时器扫描接收的控制指令,并根据用户输入控制指令的顺序与下位机进行交互。

进一步,所述步骤a包括:创建定时器,使其与上位机和下位机进行交互通信,所述定时器通过控制指令的时间戳识别用户输入控制指令的顺序。

进一步,所述步骤a包括:创建控制变量,使用与控制指令对应的预设值对其进行赋值。

进一步,所述控制变量包括:全局变量,用于传递包括指示外设启动或停止的启停标识;结构体变量,用于传递包括下位机的控制参数。

进一步,所述步骤b包括:使用定时器扫描全局变量,若启停标识为停止标识则定时器向下位机发送停止命令;若启停标识为启动标识,则使用定时器扫描结构体变量并向下位机发送启动命令及控制参数。

本发明的技术方案第二方面为一种外设控制装置,包括:指令收集模块,用于通过上位机接收用户输入的控制指令,并发送至用于与下位机交互的定时器;指令下达模块,用于使用定时器扫描接收的控制指令,并根据用户输入控制指令的顺序与下位机进行交互。

进一步,所述指令收集模块还包括:定时器模块,用于创建定时器,使其与上位机和下位机进行交互通信,所述定时器通过控制指令的时间戳识别用户输入控制指令的顺序。

进一步,所述指令收集模块包括:变量模块,用于创建控制变量,使用与控制指令对应的预设值对其进行赋值;

进一步,所述变量模块包括:全局变量模块,用于创建全局变量以传递包括指示外设启动或停止的启停标识;结构体变量模块,用于创建结构体变量以传递包括下位机的控制参数。

进一步,所述指令下达模块包括:停止模块,用于使用定时器扫描全局变量模块,读取其中的启停标识的值,若启停标识为停止标识则定时器向下位机发送停止命令;控制模块,用于使用定时器扫描全局变量模块,读取其中的启停标识的值,若启停标识为启动标识,则使用定时器扫描结构体变量模块并向下位机发送启动命令及控制参数。

本发明的技术方案第三方面为一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现如上述第一方面的方法的步骤。

本发明的有益效果为:

克服了现有技术问题,提出改进的外设控制方法及装置,通过统一收集控制指令,在定时器中根据当前的控制变量下发控制指令,解决了偶发性的硬件控制失效的问题,从而提高产品的质量。

附图说明

图1所示为根据本发明一种实施例的方法流程图;

图2所示为根据本发明的一种实施例中,定时器与上位机进行交互的子方法流程图;

图3所示为根据本发明的一种实施例中,定时器与下位机进行交互的子方法流程图;

图4所示为根据本发明一种实施例的装置模块示意图。

具体实施方式

以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。

需要说明的是,如无特殊说明,在本公开中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。此外,除非另有定义,本文所使用的所有的技术和科学术语与本技术领域的技术人员通常理解的含义相同。本文说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本发明。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。本文所提供的任何以及所有实例或示例性语言(“例如”、“如”等)的使用仅意图更好地说明本发明的实施例,并且除非另外要求,否则不会对本发明的范围施加限制。

参考图1,公开了一种外设控制方法,所述方法包括以下步骤:

a、通过上位机接收用户输入的控制指令,并发送至用于与下位机交互的定时器;

b、使用定时器扫描接收的控制指令,并根据用户输入控制指令的顺序与下位机进行交互。

参照图2,在一种实施例中,步骤a还包括如下子步骤:

创建定时器,使其与上位机和下位机进行交互通信,所述定时器通过控制指令的时间戳识别用户输入控制指令的顺序;

创建控制变量,使用与控制指令对应的预设值对其进行赋值,该预设值可自定义,主要用于指示相应的控制指令;

进一步,所述控制变量包括:全局变量,用于传递包括指示外设启动或停止的启停标识;结构体变量,用于传递包括下位机的控制参数。

参照图3,在一种实施例中,步骤b还包括:使用定时器扫描全局变量,识别其中的启停标识的值;若启停标识的值为停止则定时器向下位机发送停止命令;若启停标识的值为启动,则使用定时器扫描结构体变量并向下位机发送启动命令及控制参数。

通过一实施场景举例说明如下:

1)在上位机软件运行过程中指令控制的收集:

创建全局变量,使用m(整数值)来指示外设停止,n来指示外设启动,采用一个结构体来记录外设控制时需要的相关条件。在软件运行过程中,如果需要外设停止,则对全局变量赋值m;如果需要启动外设则赋值n,且对结构体赋值(如速率、驱动电流、压力等参数值);

2)在定时器中根据当前变量发送硬件控制指令:

创建一个专门用来与硬件交互的定时器,在定时器中扫描1)中创建的全局变量,如果扫描到需要停止(命令状态为m),则发送停止命令;如果扫描到需要启动(命令状态为n),则发送启动命令,同时发送结构体中相关的参数。

参考图4,本发明的一种实施例还公开了一种外设控制装置,包括:指令收集模块,用于通过上位机接收用户输入的控制指令,并发送至用于与下位机交互的定时器;指令下达模块,用于使用定时器扫描接收的控制指令,并根据用户输入控制指令的顺序与下位机进行交互。

参照图4,所述指令收集模块还包括:

定时器模块,用于创建定时器,使其与上位机和下位机进行交互通信,所述定时器通过控制指令的时间戳识别用户输入控制指令的顺序;

变量模块,用于创建控制变量,使用与控制指令对应的预设值对其进行赋值;所述变量模块包括:全局变量模块,用于创建全局变量以传递包括指示外设启动或停止的启停标识;结构体变量模块,用于创建结构体变量以传递包括下位机的控制参数。

参照图4,所述指令下达模块包括:停止模块,用于使用定时器扫描全局变量模块,读取其中的启停标识的值,若启停标识为停止标识则定时器向下位机发送停止命令;控制模块,用于使用定时器扫描全局变量模块,读取其中的启停标识的值,若启停标识为启动标识,则使用定时器扫描结构体变量模块并向下位机发送启动命令及控制参数。

应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术-包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作——根据在具体实施例中描述的方法和附图。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。

此外,可按任何合适的顺序来执行本文描述的过程的操作,除非本文另外指示或以其他方式明显地与上下文矛盾。本文描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。

进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、ram、rom等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本文所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的外设控制方法和技术编程时,本发明还包括计算机本身。

计算机程序能够应用于输入数据以执行本文所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。

以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1