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

轉(zhuǎn):第13章 FreeRTOS任務優(yōu)先級修改及其分配方案
嵌入式系統(tǒng)優(yōu)先級的知識點匯總,絕對實用
STM32單片機優(yōu)先級的定義

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

2.FreeRTOS中斷優(yōu)先級和任務優(yōu)先級

STM32F103芯片中斷優(yōu)先級以及FreeRTOS優(yōu)先級設置

摩爾型狀態(tài)機與米利型狀態(tài)機的區(qū)別是什么
Free RTOS的優(yōu)先級翻轉(zhuǎn)

什么是優(yōu)先級反轉(zhuǎn)

評論