AMEsim狀態機優先級
如果沒有轉換優先級,以下狀態圖是模棱兩可的。事實上,狀態 1 之后的狀態并不是唯一的,因為兩個Guard x>= 2 和 x > 0 都是真的,因為在初始轉換期間 x 被賦予了值 5。
這種歧義可以通過向轉換添加優先級編號來解決:
優先級編號是附加到退出給定狀態的轉換的唯一編號。在幾個候選轉換中,采用優先級編號最低的轉換。例如,這里采取了向State 2 的過渡。
復合過渡的優先級
在存在復合狀態和并行狀態的情況下,優先級規則將擴展為處理離開復合狀態的轉換。選擇的優先級是“ 內部優先 ”(這一點應當熟記),在嘗試在封閉復合或并行狀態上定義的轉換之前,我們始終傾向于本地定義的轉換。
在此示例中,如果狀態 2 或 3 處于活動狀態(或狀態 1處于活動狀態 且 x <= 0),我們可以轉到狀態 4。如果 x 大于 0 并且狀態 1 處于活動狀態,則其中一個本地轉換將具有更高的優先級并將被采用( 這也即是所謂本地局部優先原則 )。
并行過渡優先級
并行狀態的規則擴展了相同的“ 內部優先 ”規則,在并行狀態下,如果任何子級進行過渡,則不進行上部過渡。
在這種情況下,如果狀態 1 、狀態 2 處于活動狀態并且 e 被激活,則進行從狀態 2 到狀態 3 的轉換。進行轉換時,不會進行從并行狀態到狀態 4 的轉換。如果在狀態 1、狀態 3 處于活動狀態且e被激活,因為沒有過渡“消耗”事件,那么我們嘗試上層轉換并進入狀態 4。
-
轉換器
+關注
關注
27文章
8762瀏覽量
148381 -
信號處理器
+關注
關注
1文章
254瀏覽量
25379 -
狀態機
+關注
關注
2文章
492瀏覽量
27695 -
AMESIM
+關注
關注
1文章
15瀏覽量
11757
發布評論請先 登錄
相關推薦
基于C語言的狀態機實現方案

轉:第13章 FreeRTOS任務優先級修改及其分配方案
嵌入式系統優先級的知識點匯總,絕對實用
STM32單片機優先級的定義

STM32單片機中搶占優先級和響應優先級的表達方式解析

2.FreeRTOS中斷優先級和任務優先級

STM32F103芯片中斷優先級以及FreeRTOS優先級設置

摩爾型狀態機與米利型狀態機的區別是什么
什么是優先級反轉

評論