基於狀態機的軟件框架好處
1. 有較好的代碼框架2. 相對與一般的操作系統,佔用內存比較少,因爲傳統的操作系統每個任務必須給夠棧,一般都要3K左右。而FSM始終用一個棧。
3. 避免了由於資源競爭引發的問題
FSM的最基本思想: 當前狀態 + 事件 = 動作 + 下一個狀態。
狀態、事件、動作是FSM的三個基本屬性。一般進入FSM有一個初始化的狀態,事件觸發其狀態的動作,並且進入下一個狀態。其實所有的用戶代碼處理都可以分解爲狀態同步的形式。
YSJ_FSM 除了基本的事件觸發,狀態轉換功能,還加入了默認的狀態,以防用戶狀態轉換出錯。
Source download :https://github.com/yangshanjin/YSJ_FSM