申请国基状态机显示“2已接收”是什么意思啊?

    什么叫两段式状态机机你想实現什么样的操作?

    一个状态机机只能明确地由由一个时钟触发而不能包括多个时钟激励信号;

    要是有两个状态机机需要同一个时钟触发嘚话,那就考虑用两个always模块实现;

    如果一个状态机机A是由另一个状态机机B触发的那就用B状态机机的状态机转换信号作为A状态机转换的触發信号,这时同样得用两个always模块实现……

    两段式状态机机规定的是这样吧?: 前一部分: always@(posedgeclk)后一个状态机《=前一个状态机;后一部分 always@(*)状态机转换;。。我那意思是后面那一部分算不算异步操作是不是和上面那段话矛盾了?
    当然不是问题里头的意思是,一个狀态机机不能由多个信号触发或者说不能由同一个时钟的上升沿和下降沿触发表现在程序里头就是:一个状态机机不能在多个always模块里头賦值,否则将会产生上面所说的异步问题……

    你对这个回答的评价是

}
  • 电梯包含了四种状态机:关门開门,运动停止

所以,在代码实现时就出现了一个[状态机(枚举)][电梯(类)],其中[电梯]包含了四种状态机的处理逻辑以及提供了一个[去某一层]的方法。状态机之间的转换直接写在状态机的处理逻辑中(例如开门状态机的处理就是转换到关门状态機)。

然后以此为基础,再进行今天的状态机机的学习


经过一番查阅,我对状态机机的理解有一些改变了:
从电梯的例子来看电梯嘚运行过程包含了4个状态机。如果我在电梯的gotoFloor函数中使用

if (当前为关门状态机) { 关门状态机的处理;下一个状态机; } else if (当前为开门状态机) {开门状态機的处理;下一个状态机;} else if (当前为运行状态机) {运行状态机的处理;下一个状态机;} ... 这样的方式来进行状态机的处理与转换,这也是状态机机的一种實现方式

所以呢?状态机机是什么我的理解就是:状态机机就是控制物体状态机转换的逻辑,也就是上面这一堆

为什么搜到的多数博愙中都把状态机机描述得很复杂呢因为状态机机本身就是一套状态机转换逻辑,只不过它是为了处理更复杂的物体的状态机转换而编写嘚

所以状态机机的运用,在于怎样合理、高效的实现状态机的转换把原本需要使用大量 if .. else if ..来处理的转换逻辑描述的更清晰。


好了昨天寫的转换看起来还比较清晰(一点也不高端,就是把if...else if...换成了swith...case...)但是如果需要扩展新状态机,就要改动原来的swich...case...

所以今天换一种实现方式:为每个状态机实现一个状态机类。


    * 一个[执行逻辑处理]函数
    * 一个[设置电梯]函数 * 关门状态机类[指针]
    * 开门状态机类[指针]
    * 运動状态机类[指针]
    * 停止状态机类[指针]
    * 当前状态机类[指针]
//预先声明一下在state中需要用到 //某个状态机需要执行的逻辑 //保存一个ElevatorTow的指針,为了修改它的状态机 //每个状态机都有一个class //ElevatorStateBase不需要在这里写实现部分了它是一个抽象类,不能实例化 //关门之后进行一些处理 //处理完荿,根据条件判断下一状态机 //假设50%几率电梯里面没有人(这里的关闭可能是之前一轮运行完后的关闭) //50%几率,有人选择了下一个楼层 //开門之后进行一些处理 //处理完成,下一状态机就是关门(转换到下一状态机这件事可以由某些条件触发) //处理完成,下一状态机就是保歭电梯停止(状态机转换事件可以由条件触发) //处理完成下一状态机就是开门(状态机转换可以根据轿箱内是否有人来进行条件触发) //初始化自己的几个状态机 //状态机类设置"控制"类 //用户的操作,必定是上或者下也就是从这个事件开始改变状态机 //事件导致的状态机就是开門

输出结果(因为用到了随机数,所以输出结果类似但不唯一):


1.[电梯]类,其实不需要持有各个状态机的指针当需要转换到某个狀态机时,生成一个新的状态机对象即可
2.需要扩展状态机时,例如[运行]状态机的逻辑处理中可能需要新增一个[故障]状态机此時只需要新增一个[故障]状态机类,然后在[运行]状态机逻辑中满足故障条件时转换到[故障]状态机即可。


1.状态机机就是一套鼡于控制物体状态机转换的逻辑。实现状态机机控制的首要条件就是清楚的划分物体的状态机
2.状态机机有各种各样的实现方式,实现时需要考虑到子新增状态机

  • 本阶段对状态机机编程的理解: 把物体的操作逻辑分为几个状态机,每个状态机有对应的处理 操作时只需要詓改变物体状态机即可,...

  • 上一篇文章写完之后我一直在想做一个游戏示例,想将之前学到的状态机机模式运用在其中然而一直遇到各種奇怪的bug(之...

  • 当你们国庆奔跑在路上体验全国大拥堵时,我正在村里跟我家的狗狗无言相对 刚回来时被这只毛绒绒的大黑狗吓了一跳,峩直...

  • 当爱到深处时彼此会肆无忌惮的伤害对方,最终所有的刺都被磨掉之时两个人便可以紧紧相依。 回忆篇 我们相遇于朋友的...

  • 为了避免上下班的枯燥 近期经常会打开收音机, 听一听广播 经常能听到蛮有意思话题, 其中 有个话题非常特别,...

}

我要回帖

更多关于 状态机 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信