【技术实现步骤摘要】
一种条件触发表式有限状态机实现方法
[0001]本专利技术属于计算机控制
,涉及一种条件触发表式有限状态机实现方法。
技术介绍
[0002]有限状态机表示有限个状态以及在这些状态之间的转移和动作等行为的数学计算模型,有限状态机在任何时候只能处于给定的状态中的一个。当接收到一个输入事件时,状态机产生一个输出,同时也可能伴随着状态的转移,并执行相应的功能动作。
[0003]有限状态机常用于在计算机控制系统中,通常把复杂的控制逻辑分解成有限个稳定状态,组成闭环系统,通过事件触发,让状态机按设定的顺序处理事务。
[0004]传统计算机控制领域使用有限状态机通常使用条件语句(switch
‑
case或者if
‑
else),通过改变输入状态,使得程序在不同的状态间进行跳转。对于复杂逻辑处理,通常有较多状态,且状态之间转换耦合性比较强,处理函数比较多,此时使用传统方法耗费更多软硬件资源。
技术实现思路
[0005](一)专利技术目的
[0006]本专利技术的 ...
【技术保护点】
【技术特征摘要】
1.一种条件触发表式有限状态机实现方法,其特征在于,包括以下步骤:S1:设计一个状态转换结构体StateTbl用来记录状态转换;S2:定义状态转换表;S3:定义状态机的当前状态CurState;S4:根据当前具备的触发条件condition在S2中进行条件寻找匹配;S5:获取S4中返回的状态转换结构体StateTbl类型变量trantemp中目的状态DstState,将此值赋值到字符型指针变量endState,表示目的状态;S6:判断S5中态转换结构体StateTbl类型变量trantemp中函数指针exePtr是否为空,如果为空,则不执行任何操作,如果不为空,则根据指针寻址运行此函数。2.如权利要求1所述的条件触发表式有限状态机实现方法,其特征在于,步骤S1中,状态转换结构体StateTbl共包括四个成员,分别为:
①
源状态SrcState,类型为无符号字符指针型,表示状态机跳转前状态;
②
目的状态DstState,类型为无符号字符指针型,表示状态机跳转后的状态;
③
源状态到目的状态的转换条件Cond,类型为枚举类型;
④
状态转换后需要执行函数的函数指针exePtr。3.如权利要求2所述的条件触发表式有限状态机实现方法,其特征在于,步骤S2中,状态转换表中元素为S1中状态转换结构体StateTbl类型,表中元素个数为N,表示状态转换个数。4.如权利要求3所述的条件触发表式有限状态机实现方法,其特征在于,步骤S3中,状态机的当前状态CurState为全局变量。5.如权利要求4所述的条件触发表式有限状态机实现方法,其特征在于,步骤S4包括以下子步骤:S4_1:获取S3中记录的状态转换的...
【专利技术属性】
技术研发人员:王雨龙,
申请(专利权)人:天津津航计算技术研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。