作者 Amber 版本 1.0.0 日期 2012/04/24 頁數 1/9 如何使用 watchdog 防止程式當機? 適用於 : 平台 作業系統版本 XPAC utility 版本 XP-8000 系列 WES2009 所有版本 XP-8000-Atom 系列 WES2009 所有版本 注意! 欲變更系統的任何設定之前, 請先關閉 EWF 的保護, 方能使變更值生效 ; 設定完成之後, 請再開啟 EWF 的保護, 以保護您系統的安全 Watchdog 為一種計時裝置 ( 可分為硬體式或軟體式 ), 啟用 watchdog 的功能之後, 當 XPAC 系 統程式發生某些錯誤事件造成當機時,watchdog 便會偵測到系統發生遲緩或者是停擺, 並對系統 發出重新開機或者是關機的信號, 使系統回復到正常的狀態 XPAC SDK 提供了一個完整的解決方案, 可以整合兼容 C# VB.NET C++ 程式與硬體通訊 以下程式範例示範如何使用 MFC C# VB.Net 的程式去啟用 關閉以及刷新 watchdog, 若您是程式開發初學者, 建議您先閱讀 ICP DAS 提供的 FAQ, 了解如何從頭到尾建立一個 XPAC 的應用程式以及上傳執行檔到 XPAC 中 軟體開發 FAQ: wes6-024-02_how_to_write_a_c_sharp_dotnet_application_with_xpac_sdk wes6-026-04_how_to_write_a_mfc_application_with_xpac_sdk wes6-027-05_how_to_write_a_vb_application_with_xpac_sdk
作者 Amber 版本 1.0.0 日期 2012/04/24 頁數 2/9 一 用 C# 程式語言建立啟用 關閉以及刷關閉以及刷新 watchdog 的範例程式 步驟 1: 從工具箱裡拖曳三個按鈕控制到表格中 步驟 2: 分別在按鈕上方按滑鼠右鍵選擇 Properties 開啟屬性視窗, 找到 Text 屬性分別輸入顯示文字為 Enable watchdog Disable watchdog Refresh watchdog
作者 Amber 版本 1.0.0 日期 2012/04/24 頁數 3/9 步驟 3: 取得 XPacNet.dll 並複製到專案目錄中, 您可以從附件 CD 光碟裡任一 C# 範例程式中取得, 或者是到 ICP DAS 官網下載最新版本的檔案 附件 CD 光碟 CD:\xpac-atom\sdk\xpacsdk\xpacnet 網站 ftp://ftp.icpdas.com/pub/cd/xpac-atom/sdk/xpacsdk/xpacnet/ 步驟 4: 專案加入對 XPacNet.dll 的參考 步驟 5: 分別雙點擊表單上的三個按鈕 加入 Click 事件觸發動作的程式碼 5.1. 輸入 Enable watchdog 按鈕 Click 事件觸發動作的程式碼 private void button1_click(object sender, EventArgs e) { XPacNET.XPac.pac_EnableWatchDog(0, 5); } pac_enablewatchdog 函式說明如下 : bool pac_enablewatchdog(int wdt, uint value); pac_enablewatchdog 函式用來啟用 watchdog 的功能, 第一個參數代表 watchdog 的類型 (0 軟體式 watchdog,1 硬體式 watchdog), 第二個參數為 watchdog 計時重置的時間
作者 Amber 版本 1.0.0 日期 2012/04/24 頁數 4/9 5.2. 輸入 Disable watchdog 按鈕 Click 事件觸發動作的程式碼 private void button2_click(object sender, EventArgs e) { XPacNET.XPac.pac_DisableWatchDog(0); } pac_disablewatchdog 函式說明如下 : void pac_disablewatchdog(int wdt); pac_disablewatchdog 函式用來關閉 watchdog 的功能, 參數代表 watchdog 類型 (0 軟體式 watchdog,1 硬體式 watchdog)
作者 Amber 版本 1.0.0 日期 2012/04/24 頁數 5/9 5.3. 輸入 Refresh watchdog 按鈕 Click 事件觸發動作的程式碼 private void button3_click(object sender, EventArgs e) { XPacNET.XPac.pac_RefreshWatchDog(0); } pac_refreshwatchdog 函式說明如下 : void pac_refreshwatchdog(int wdt); pac_refreshwatchdog 函式用來刷新 watchdog 的計時, 使之重新計算, 參數為 watchdog 類型 (0 軟體式 watchdog,1 硬體式 watchdog) 步驟 6: 編譯檔案並上傳至 XPAC 執行 點選啟用 watchdog 的按鈕之後, 在設定的時間之內, 若是您未點選關閉或者是刷新的按鈕使 watchdog 重新計時, 等到設定的時間一到,XPAC 便會重新開機
作者 Amber 版本 1.0.0 日期 2012/04/24 頁數 6/9 二 用 VB.Net 程式語言建立啟用建立啟用 關閉以及刷新 watchdog 的範例程式 步驟 1: 從工具箱裡拖曳三個按鈕控制到表格中 步驟 2: 分別在按鈕上方按滑鼠右鍵選擇 Properties 開啟屬性視窗, 找到 Text 屬性分別輸入顯示文字為 Enable watchdog Disable watchdog Refresh watchdog
作者 Amber 版本 1.0.0 日期 2012/04/24 頁數 7/9 步驟 3: 取得 XPacNet.dll 並複製到專案目錄中, 您可以從附件 CD 光碟裡任一 VB.Net 範例程式中取得, 或者是到 ICP DAS 官網下載最新版本的檔案 附件 CD 光碟 CD:\xpac-atom\sdk\xpacsdk\xpacnet 網站 ftp://ftp.icpdas.com/pub/cd/xpac-atom/sdk/xpacsdk/xpacnet/ 步驟 4: 專案加入對 XPacNet.dll 的參考 步驟 5: 分別雙點擊表單上的三個按鈕 加入 Click 事件觸發動作的程式碼 5.1. 輸入 Enable watchdog 按鈕 Click 事件觸發動作的程式碼 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click XPacNET.XPac.pac_EnableWatchDog(0, 5) End Sub pac_enablewatchdog 函式說明如下 : bool pac_enablewatchdog(int wdt, uint value); pac_enableeeprom 函式用來啟用 watchdog 的功能, 第一個參數代表 watchdog 的類型 (0 軟體式 watchdog,1 硬體式 watchdog), 第二個參數為 watchdog 計時重置的時間
作者 Amber 版本 1.0.0 日期 2012/04/24 頁數 8/9 5.2. 輸入 Disable watchdog 按鈕 Click 事件觸發動作的程式碼 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click XPacNET.XPac.pac_DisableWatchDog(0) End Sub pac_disablewatchdog 函式說明如下 : void pac_disablewatchdog(int wdt); pac_disablewatchdog 函式用來關閉 watchdog 的功能, 參數代表 watchdog 類型 (0 軟體式 watchdog,1 硬體式 watchdog)
作者 Amber 版本 1.0.0 日期 2012/04/24 頁數 9/9 5.3. 輸入 Refresh watchdog 按鈕 Click 事件觸發動作的程式碼 Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click XPacNET.XPac.pac_RefreshWatchDog(0) End Sub pac_refreshwatchdog 函式說明如下 : void pac_refreshwatchdog(int wdt); pac_refreshwatchdog 函式用來刷新 watchdog 的計時, 使之重新計算, 參數為 watchdog 類型 (0 軟體式 watchdog,1 硬體式 watchdog) 步驟 6: 編譯檔案並上傳至 XPAC 執行 點選啟用 watchdog 的按鈕之後, 在設定的時間之內, 若是您未點選關閉或者是刷新的按鈕使 watchdog 重新計時, 等到設定的時間一到,XPAC 便會重新開機