一种交互式可编程硬件的缓冲机制实现方法及装置的制造方法

文档序号:9577730阅读:132来源:国知局
一种交互式可编程硬件的缓冲机制实现方法及装置的制造方法
【技术领域】
[0001]本发明涉及计算机领域,尤其涉及一种交互式可编程硬件的缓冲机制实现方法及
目.ο
【背景技术】
[0002]在Scratch程序运行中,如果程序中存在无限循环,通常这个无限循环的实际运行速率将超过500Hz,若无限循环里面有与下位机通讯的内容,若无缓冲机制,硬件指令将以超过500Hz的速率向下位机发送,在多数硬件连接采用的波特率仅为115200b/s的情况下,上位机超过500Hz的指令速率易导致下位机瘫痪而无法继续工作。

【发明内容】

[0003]为了解决上述所述的上位机与下位机通讯过程中若无缓冲机制,易导致下位机瘫痪而无法继续工作的问题,本发明提供一种交互式可编程硬件的缓冲机制实现方法及装置的设计方案。
[0004]—种交互式可编程硬件的缓冲机制实现方法,包括以下步骤:S1,接收操作指令,并将所述操作指令转换成硬件可识别指令;S2,比较所述硬件可识别指令与指令缓冲区存储的指令是否存在同类指令,若存在,则将所述硬件可识别指令替换指令缓冲区存储的对应的同类指令;若不存在,则判断指令缓冲区是否存储已满,若存储已满,则将所述硬件可识别指令替换所述指令缓冲区的第一条指令,若存储未满,则将所述硬件可识别指令写入所述指令缓冲区。
[0005]具体的,所述比较所述硬件可识别指令与指令缓冲区存储的每条指令是否为存在同类指令,具体包括:比较所述硬件可识别指令中对应的设备号与指令缓冲区存储的指令中对应的设备号是否相同,当所述硬件可识别指令中对应的设备号与指令缓冲区存储的指令中对应的设备号相同,则存在同类指令;当所述硬件可识别指令中对应的设备号与指令缓冲区存储的指令对应的设备号均不相同,则不存在同类指令。
[0006]具体的,所述方法还包括:以预先设置的定时查询频率定时查询指令缓冲区,若查询结果不为空,则依次发送指令缓冲区中的所有指令至指定下位机,并清空所述指令缓冲区;若查询结果为空,则等待下一次查询。
[0007]更具体的,所述定时查询频率为10?50Hz。
[0008]—种交互式可编程硬件的缓冲机制实现装置,包括:接收模块,用于通过人机交互界面接收操作指令;转换模块,用于将所述操作指令转换成硬件可识别指令;比较模块,用于比较所述硬件可识别指令与指令缓冲区存储的每条指令是否存在同类指令;替换模块,用于当比较模块比较所述硬件可识别指令与指令缓冲区存储的指令存在同类指令时,将所述硬件可识别指令替换指令缓冲区存储的对应的同类指令;判断模块,当比较模块比较所述硬件可识别指令与指令缓冲区存储的指令不存在同类指令时,用于判断指令缓冲区是否存储已满;所述替换模块,还用于当判断模块判断指令缓冲区存储已满时,则将所述硬件可识别指令替换所述指令缓冲区的第一条指令;写入模块,用于当判断模块判断指令缓冲区存储未满时,则将所述硬件可识别指令写入所述指令缓冲区。
[0009]具体的,所述比较模块还具体用于:比较所述硬件可识别指令中对应的设备号与指令缓冲区存储的指令中对应的设备号是否相同,当所述硬件可识别指令中对应的设备号与指令缓冲区存储的指令中对应的设备号相同时,则存在同类指令;当所述硬件可识别指令中对应的设备号与指令缓冲区存储的指令中对应的设备号均不相同,则不存在同类指令。
[0010]具体的,还包括指令查询模块,用于以预先设置的定时器定时查询指令缓冲区,若查询结果不为空,则依次发送指令缓冲区中的所有指令至指定下位机,并清空所述指令缓冲区;若查询结果为空,则等待下一次查询。
[0011]综上所述,本发明具有以下有益效果:通过在上位机与下位机的通讯过程中设置指令缓冲机制,能够减轻下位机的硬件压力,且控制上位机的指令传输速率,避免下位机的硬件设备因过快的指令速率而导致瘫痪。
【附图说明】
[0012]图1为本发明实施例提供的交互式可编程硬件的缓冲机制实现方法的流程示意图。
[0013]图2为本发明实施例提供的又一交互式可编程硬件的缓冲机制实现方法的流程示意图。
[0014]图3为本发明实施例提供的交互式可编程硬件的缓冲机制实现装置的结构图。
【具体实施方式】
[0015]为了让本领域的技术人员能够更好地了解本发明的技术方案,下面结合附图对本发明作进一步的阐述。
[0016]如图1所示,本发明揭示了一种交互式可编程硬件的缓冲机制实现方法,包括以下步骤:
[0017]S1,接收操作指令,并将所述操作指令转换成硬件可识别指令。
[0018]S2,比较所述硬件可识别指令与指令缓冲区存储的指令是否存在同类指令,若存在,则将所述硬件可识别指令替换指令缓冲区存储的对应的同类指令;若不存在,则判断指令缓冲区是否存储已满,若存储已满,则将所述硬件可识别指令替换所述指令缓冲区的第一条指令,若存储未满,则将所述硬件可识别指令写入所述指令缓冲区。
[0019]具体的,在本发明实施例中,比较所述硬件可识别指令与指令缓冲区存储的每条指令是否为存在同类指令,具体包括:比较所述硬件可识别指令中对应的设备号与指令缓冲区存储的指令中对应的设备号是否相同,当所述硬件可识别指令中对应的设备号与指令缓冲区存储的指令中对应的设备号相同,则存在同类指令;当所述硬件可识别指令中对应的设备号与指令缓冲区存储的指令中对应的设备号均不相同,则不存在同类指令。对于同一硬件的不同设备(比如实验箱上的风扇、三色灯等设备)均设置有不同的设备号,设备号用整数进行表示,设备号会具体体现在硬件可识别指令中。这样,本发明就实现了硬件可识别指令与指令缓冲区中同类指令的判断和替换。
[0020]在本发明一种交互式可编程硬件的缓冲机制实现方法的另一个实施例中,如图2所示,所述方法包括以下步骤(其中步骤S11、S22与实施例一中的步骤S1、S2相同,因此不再详述):
[0021]S11,接收操作指令,并将所述操作指令转换成硬件可识别指令。
[0022]S22,比较所述硬件可识别指令与指令缓冲区存储的指令是否存在同类指令,若存在,则将所述硬件可识别指令替换指令缓冲区存储的对应的同类指令;若不存在,则判断指令缓冲区是否存储已满,若存储已满,则将所述硬件可识别指令替换所述指令缓冲区的第一条指令,若存储未满,则将所述硬件可识别指令写入所述指令缓冲区。
[0023]S33,以预先设置的定时查询频率定时查询指令缓冲区,若查询结果不为空,则依次发送指令缓冲区中的所有指令至指定下位机,并清空所述指令缓冲区;若查询结果为空,则等待下一次查询
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1