freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

visualstate第八章-在線瀏覽

2025-06-29 13:59本頁面
  

【正文】 ? 在取款界面,當接收到取款金額的觸發(fā)時,判斷是否透支。若用戶將錢取走,則關(guān)閉出鈔口,扣除取款金額,并回到服務(wù)主界面。 ? 當接收到退出的觸發(fā)時,系統(tǒng)將卡彈出,服務(wù)界面回到歡迎狀態(tài),插卡區(qū)變成無卡狀態(tài)。 狀態(tài)機的建模分析 優(yōu)化設(shè)計 ? 為了簡化密碼輸入正誤與透支判斷的設(shè)計,我們可以增加一個有效性狀態(tài)。當有判斷的觸發(fā)時,若判斷為真,則變成有效狀態(tài),并產(chǎn)生一個有效信號;有效信號一觸發(fā),有效性狀態(tài)立即回到無效狀態(tài)。 ? 簡易 ATM取款機 ? 使用 visualSTATE工具鏈設(shè)計、 驗證狀態(tài)機 ? visualSTATE系統(tǒng)在 STM32上的 模擬實現(xiàn)方案 ? 集成應(yīng)用程序代碼到 STM32 第八章 目錄 visualSTATE Designer設(shè)計狀態(tài)圖 在上面的分析中,我們將狀態(tài)機分為四個并行域來設(shè)計,每個域最后設(shè)計所得的結(jié)果 如下: ATM服務(wù)界面的狀態(tài)圖: 其所包含的狀態(tài)有: – Welinterface狀態(tài)(處于歡迎界面狀態(tài)); – CheckUser狀態(tài)(處于檢查用戶密碼正確與否的狀態(tài)); – Service狀態(tài)(處于服務(wù)狀態(tài)); – 而 Service狀態(tài)又包含: Main狀態(tài)(處于服務(wù)主界面狀態(tài)) – GetCash狀態(tài)(取款狀態(tài)); – GetCash狀態(tài)作為一個超狀態(tài),它包括: Editing狀態(tài)(檢查取款金額的有效性狀態(tài))和 Cashing狀態(tài)(正在取款狀態(tài))。 visualSTATE Designer設(shè)計狀態(tài)圖 ATM插卡區(qū)的狀態(tài)圖: a.其所包含的狀態(tài)有: ? NoCard狀態(tài)(處于沒插入卡狀態(tài)); ? CardPresent狀態(tài)(處于有卡狀態(tài)); b.其包含的事件有: ? evCardInserted()(“插入信用卡”操作); ? evKeyExit()(“退出”操作); ? c.其所包含的動作有: VS_VOID GetAccount()(獲取賬戶信息); ? VS_VOID EjectCard()(退卡); visualSTATE Designer設(shè)計狀態(tài)圖 ATM出鈔口的狀態(tài)圖: a.其所包含的狀態(tài)有: ? Closed狀態(tài)(出鈔口處于關(guān)狀態(tài)); ? Open狀態(tài)(出鈔口處于開狀態(tài)); ? b.其包含的事件有: evCashTaken()(事件“取錢”發(fā)生); ? c.其所包含的動作有: VS_VOID CashDoorClosed()(動作“出鈔門關(guān)”); ? VS_VOID DeductAccount()(取款之后,減賬戶金額); visualSTATE Designer設(shè)計狀態(tài)圖 ATM檢查狀態(tài)的狀態(tài)圖, a.其所包含的狀態(tài)有: ? Invalid狀態(tài)(處于無效狀態(tài),比如取款金額輸入有誤、密碼輸入有誤等); ? Valid狀態(tài)(處于有效狀態(tài)); b.其包含的事件有: ? evCardInserted()(“ 插入信用卡”操作 ) ? evKeyExit()(“退出”操作); c.其所包含的動作有: ? 當輸入信息有效時(即內(nèi)部變量 bValid!=0),發(fā)出信號sPass;當輸入信號無效時,發(fā)出信息 sFail。 狀態(tài)機驗證、仿真 ? 有關(guān)在 visualSTATE中動態(tài)驗證狀態(tài)圖,我們在前面已經(jīng)做了較詳細的說明,本章只將通過驗證的圖示以及在前面的驗證中沒遇到的驗證圖示給出。說明了本設(shè)計中不存在死循環(huán)、相互沖突的轉(zhuǎn)換等。在對本案例的設(shè)計中,我們?yōu)榱藱z查密碼和其它信息的有效性,定義了布爾類型的函數(shù),并設(shè)置其返回值為布爾類型的內(nèi)部變量。 ? 當我們打開 visualSTATE Validator后,我們選擇 “DebugAuto Empty Signal Queues”,這種模式在有信號發(fā)生時會自動觸發(fā)事件的發(fā)生,而不需要通過雙擊信號來仿真實現(xiàn)。 狀態(tài)機驗證、仿真 ? 首先,我們雙擊事件 “SE_RESET”,初始化系統(tǒng)。雙擊事件 “evKeyEnter”,在系統(tǒng)中輸入密碼,此時將會出現(xiàn)畫面,如果我們在對話框的 “Return value for CheckPassword()”一欄中,寫入 “0”,說明密碼輸入有誤,單擊 “OK”,那么此時系統(tǒng)回到歡迎狀態(tài),插卡區(qū)回到無卡狀態(tài)。在此,我們就不一一演示了,讀者可按照我們學(xué)過的方法進行驗證。然后選擇 visualSTATE Navigator中的 CODER GENERATION一項,生成代碼,其產(chǎn)生的代碼報告如圖所示。ATM_easySEM_InitAll (void)函數(shù)還可以調(diào)用初始化信號隊列、內(nèi)部變量以及外部變量的函數(shù)。所有的動作表達式都是通過連續(xù)調(diào)用函數(shù) SEM_GetOutput或一次調(diào)用函數(shù)SEM_GetOutputAll來檢測的。 visualSTATE Coder中生成代碼 ? 下圖 說明 了 visualSTATE產(chǎn)生的代碼文件和 Basic API文件以及用戶代碼之間的聯(lián)系。 具體方案為: 1. Event(事件) (1) STM32上的按鍵 KEY2被按下,用來模擬“插入信用卡”事件 evCardInserted()的發(fā)生。 visualSTATE系統(tǒng)在 STM32上的模擬實現(xiàn)方案 (3) STM32上的按鍵 Right被按下,用來模擬“取款”事件evGetCash()的發(fā)生。 (5) STM32上的按鍵 KEY3被按下,用來模擬“退出系統(tǒng)”事件evKeyExit()的發(fā)生。 在 STM32中,每一個開關(guān)都對應(yīng)著一路中斷,所以這些事件的發(fā)生可以通過中斷程序來實現(xiàn),這正對應(yīng)了后面將會講述的 。 (2) “ 取款門關(guān)” CashDoorClosed(),即燈 LED2滅。 (4) “ 退卡” EjectCard(), LED3先變亮,然后延時一段時間,燈變滅。 (6) GetCashR
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1