18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何生成狀態(tài)機(jī)框架

麥辣雞腿堡 ? 來(lái)源:車(chē)端 ? 作者:車(chē)端 ? 2023-09-13 16:54 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

生成狀態(tài)機(jī)框架

使用FSME不僅能夠進(jìn)行可視化的狀態(tài)機(jī)建模,更重要的是它還可以根據(jù)得到的模型自動(dòng)生成用C++或者Python實(shí)現(xiàn)的狀態(tài)機(jī)框架。首先在FSME界面左邊的樹(shù)形列表中選擇"Root"項(xiàng),然后在右下角的"Name"文本框中輸入狀態(tài)機(jī)的名字"DoorFSM",再?gòu)?Initial State"下拉列表中選擇狀態(tài)"Opened"作為狀態(tài)機(jī)的初始化狀態(tài),如圖6所示。

設(shè)置初始屬性

圖片

在將狀態(tài)機(jī)模型保存為door.fsm文件之后,使用下面的命令可以生成包含有狀態(tài)機(jī)定義的頭文件:

[xiaowp@linuxgam code]$ fsmc door.fsm -d -o DoorFSM.h

進(jìn)一步還可以生成包含有狀態(tài)機(jī)實(shí)現(xiàn)的框架代碼:

[xiaowp@linuxgam code]$ fsmc door.fsm -d -impl DoorFSM.h -o DoorFSM.cpp

如果想對(duì)生成的狀態(tài)機(jī)進(jìn)行驗(yàn)證,只需要再手工編寫(xiě)一段用于測(cè)試的代碼就可以了:

/*
* TestFSM.cpp
* 測(cè)試生成的狀態(tài)機(jī)框架
*/

#include "DoorFSM.h"

int main()
{
DoorFSM door;
door.A(DoorFSM::Close);
door.A(DoorFSM::Lock);
door.A(DoorFSM::Unlock);
door.A(DoorFSM::Open);
}

有限狀態(tài)機(jī)是由事件來(lái)進(jìn)行驅(qū)動(dòng)的,在FSME生成的狀態(tài)機(jī)框架代碼中,方法A()可以被用來(lái)向狀態(tài)機(jī)發(fā)送相應(yīng)的事件,從而提供狀態(tài)機(jī)正常運(yùn)轉(zhuǎn)所需要的"動(dòng)力"。狀態(tài)機(jī)負(fù)責(zé)在其內(nèi)部維護(hù)一個(gè)事件隊(duì)列,所有到達(dá)的事件都會(huì)先被放到事件隊(duì)列中進(jìn)行等候,從而能夠保證它們將按照到達(dá)的先后順序被依次處理。在處理每一個(gè)到達(dá)的事件時(shí),狀態(tài)機(jī)都會(huì)根據(jù)自己當(dāng)前所處的狀態(tài),檢查與該狀態(tài)對(duì)應(yīng)的轉(zhuǎn)換條件是否已經(jīng)被滿(mǎn)足,如果滿(mǎn)足的話則激活相應(yīng)的狀態(tài)轉(zhuǎn)換過(guò)程。

使用下面的命令能夠?qū)⑸傻臓顟B(tài)機(jī)框架和測(cè)試代碼編譯成一個(gè)可執(zhí)行文件:

[xiaowp@linuxgam code]$ g++ DoorFSM.cpp TestFSM.cpp -o fsm

由于之前在用fsmc命令生成狀態(tài)機(jī)代碼時(shí)使用了-d選項(xiàng),生成的狀態(tài)機(jī)框架中會(huì)包含一定的調(diào)試信息,包括狀態(tài)機(jī)中每次狀態(tài)轉(zhuǎn)換時(shí)的激活事件、轉(zhuǎn)換前的狀態(tài)、所經(jīng)歷的轉(zhuǎn)換、轉(zhuǎn)換后的狀態(tài)等,如下所示:

[xiaowp@linuxgam code]$ ./fsm
DoorFSM:event:'Close'
DoorFSM:state:'Opened'
DoorFSM:transition:'closeDoor'
DoorFSM:new state:'Closed'
DoorFSM:event:'Lock'
DoorFSM:state:'Closed'
DoorFSM:transition:'lockDoor'
DoorFSM:new state:'Locked'
DoorFSM:event:'Unlock'
DoorFSM:state:'Locked'
DoorFSM:transition:'unlockDoor'
DoorFSM:new state:'Unlocked'
DoorFSM:event:'Open'
DoorFSM:state:'Unlocked'
DoorFSM:transition:'openDoor'
DoorFSM:new state:'Opened'
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 框架
    +關(guān)注

    關(guān)注

    0

    文章

    404

    瀏覽量

    18243
  • 狀態(tài)機(jī)
    +關(guān)注

    關(guān)注

    2

    文章

    495

    瀏覽量

    28691
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4849

    瀏覽量

    89110
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    如何利用Linux下的工具來(lái)自動(dòng)生成實(shí)用的狀態(tài)機(jī)框架?

    (Finite State Machine),是一種應(yīng)用非常廣泛的軟件設(shè)計(jì)模式(Design Pattern)。本文介紹如何構(gòu)建基于狀態(tài)機(jī)的軟件系統(tǒng),以及如何利用Linux下的工具來(lái)自動(dòng)生成實(shí)用的狀態(tài)機(jī)
    的頭像 發(fā)表于 11-25 14:15 ?2176次閱讀
    如何利用Linux下的工具來(lái)自動(dòng)<b class='flag-5'>生成</b>實(shí)用的<b class='flag-5'>狀態(tài)機(jī)</b><b class='flag-5'>框架</b>?

    [開(kāi)源框架] 極簡(jiǎn)信號(hào)/狀態(tài)機(jī)框架 NorthFrame

    NorthFrame 單片機(jī)極簡(jiǎn)信號(hào)/狀態(tài)機(jī)框架討論QQ群:431600056gitee地址:https://gitee.com/PISCES_X/NorthFrame單片機(jī)開(kāi)發(fā)中是否
    發(fā)表于 02-25 13:52

    狀態(tài)機(jī)舉例

    狀態(tài)機(jī)舉例 你可以指定狀態(tài)寄存器和狀態(tài)機(jī)狀態(tài)。以下是一個(gè)有四種狀態(tài)的普通狀態(tài)機(jī)。 // Th
    發(fā)表于 03-28 15:18 ?1145次閱讀

    狀態(tài)機(jī)代碼生成工具

    狀態(tài)機(jī)代碼生成工具狀態(tài)機(jī)代碼生成工具狀態(tài)機(jī)代碼生成工具狀態(tài)機(jī)
    發(fā)表于 11-19 15:12 ?9次下載

    狀態(tài)機(jī)原理及用法

    狀態(tài)機(jī)原理及用法狀態(tài)機(jī)原理及用法狀態(tài)機(jī)原理及用法
    發(fā)表于 03-15 15:25 ?0次下載

    使用ModelSim自動(dòng)生成狀態(tài)機(jī)FSM的狀態(tài)轉(zhuǎn)換圖

    HDL代碼設(shè)計(jì)中重要的內(nèi)容之一就是設(shè)計(jì)程序的狀態(tài)機(jī)FSM,狀態(tài)轉(zhuǎn)換控制著整個(gè)程序的流程,為了理解程序,我們經(jīng)常需要把狀態(tài)機(jī)狀態(tài)轉(zhuǎn)換圖畫(huà)出來(lái),這樣看起來(lái)很直觀,但是,有沒(méi)有辦法自動(dòng)
    發(fā)表于 02-10 15:39 ?1.6w次閱讀
    使用ModelSim自動(dòng)<b class='flag-5'>生成</b><b class='flag-5'>狀態(tài)機(jī)</b>FSM的<b class='flag-5'>狀態(tài)</b>轉(zhuǎn)換圖

    狀態(tài)機(jī)概述 如何理解狀態(tài)機(jī)

    本篇文章包括狀態(tài)機(jī)的基本概述以及通過(guò)簡(jiǎn)單的實(shí)例理解狀態(tài)機(jī)
    的頭像 發(fā)表于 01-02 18:03 ?1.1w次閱讀
    <b class='flag-5'>狀態(tài)機(jī)</b>概述  如何理解<b class='flag-5'>狀態(tài)機(jī)</b>

    FPGA:狀態(tài)機(jī)簡(jiǎn)述

    本文目錄 前言 狀態(tài)機(jī)簡(jiǎn)介 狀態(tài)機(jī)分類(lèi) Mealy 型狀態(tài)機(jī) Moore 型狀態(tài)機(jī) 狀態(tài)機(jī)描述 一段式
    的頭像 發(fā)表于 11-05 17:58 ?8439次閱讀
    FPGA:<b class='flag-5'>狀態(tài)機(jī)</b>簡(jiǎn)述

    什么是狀態(tài)機(jī)?狀態(tài)機(jī)5要素

    玩單片機(jī)還可以,各個(gè)外設(shè)也都會(huì)驅(qū)動(dòng),但是如果讓你完整的寫(xiě)一套代碼時(shí),卻無(wú)邏輯與框架可言。這說(shuō)明編程還處于比較低的水平,你需要學(xué)會(huì)一種好的編程框架或者一種編程思想!比如模塊化編程、狀態(tài)機(jī)
    的頭像 發(fā)表于 07-27 11:23 ?2.2w次閱讀
    什么是<b class='flag-5'>狀態(tài)機(jī)</b>?<b class='flag-5'>狀態(tài)機(jī)</b>5要素

    MCU裸機(jī)編程的狀態(tài)機(jī)框架--第一部分

    MCU裸機(jī)編程的狀態(tài)機(jī)框架--第一部分1 狀態(tài)機(jī)的概念1.1 狀態(tài)機(jī)的要素1.2 狀態(tài)遷移表1.3 狀態(tài)
    發(fā)表于 12-09 13:21 ?17次下載
    MCU裸機(jī)編程的<b class='flag-5'>狀態(tài)機(jī)</b><b class='flag-5'>框架</b>--第一部分

    基于單片機(jī)的極簡(jiǎn)圖形化狀態(tài)機(jī)框架NorthFrame

    NorthFrame是基于非UML極簡(jiǎn)理念的狀態(tài)機(jī)框架。配合NF_FsmDesigner圖形化開(kāi)發(fā)工具,可無(wú)負(fù)擔(dān)替代傳統(tǒng)switch-case狀態(tài)機(jī)開(kāi)發(fā)。
    發(fā)表于 02-08 15:44 ?3次下載
    基于單片<b class='flag-5'>機(jī)</b>的極簡(jiǎn)圖形化<b class='flag-5'>狀態(tài)機(jī)</b><b class='flag-5'>框架</b>NorthFrame

    如何構(gòu)建基于狀態(tài)機(jī)的軟件系統(tǒng)

    模式(Design Pattern)。本文介紹如何構(gòu)建基于狀態(tài)機(jī)的軟件系統(tǒng),以及如何利用Linux下的工具來(lái)自動(dòng)生成實(shí)用的狀態(tài)機(jī)框架。
    的頭像 發(fā)表于 09-14 10:55 ?2006次閱讀

    狀態(tài)機(jī)自動(dòng)生成工具FSME

    狀態(tài)機(jī)中的各種狀態(tài)上,而不是程序本身的運(yùn)行邏輯。 作為一種通用的軟件設(shè)計(jì)模式,各種軟件系統(tǒng)的狀態(tài)機(jī)之間肯定會(huì)或多或少地存在著一些共性,因此人們開(kāi)始嘗試開(kāi)發(fā)一些工具來(lái)自動(dòng)生成有限
    的頭像 發(fā)表于 09-13 16:45 ?2191次閱讀
    <b class='flag-5'>狀態(tài)機(jī)</b>自動(dòng)<b class='flag-5'>生成</b>工具FSME

    自動(dòng)生成程序狀態(tài)機(jī)代碼狀態(tài)機(jī)建模方法

    首先運(yùn)行fsme命令來(lái)啟動(dòng)狀態(tài)機(jī)編輯器,然后單擊工具欄上的“New”按鈕來(lái)創(chuàng)建一個(gè)新的狀態(tài)機(jī)。FSME中用于構(gòu)建狀態(tài)機(jī)的基本元素一共有五種:事件(Event)、輸入(Input)、輸出(Output
    的頭像 發(fā)表于 09-13 16:50 ?1898次閱讀
    自動(dòng)<b class='flag-5'>生成</b>程序<b class='flag-5'>狀態(tài)機(jī)</b>代碼<b class='flag-5'>狀態(tài)機(jī)</b>建模方法

    什么是狀態(tài)機(jī)狀態(tài)機(jī)的種類(lèi)與實(shí)現(xiàn)

    狀態(tài)機(jī),又稱(chēng)有限狀態(tài)機(jī)(Finite State Machine,F(xiàn)SM)或米利狀態(tài)機(jī)(Mealy Machine),是一種描述系統(tǒng)狀態(tài)變化的模型。在芯片設(shè)計(jì)中,
    的頭像 發(fā)表于 10-19 10:27 ?1.2w次閱讀