在工業控制系統中,A/D、D/A,顯示等輸入/輸出接口電路是必不可少的。這些接口與CPU之間采用查詢或中斷方式工作,而這些設備或接口對干擾很敏感,干擾信號一旦破壞了某一接口的狀態字后,就會導致CPU誤認為該接口有輸入/輸出請求而停止現行工作,轉去執行相應的輸入/輸出服務程序。但由于該接口本身并沒有輸入/輸出數據,從而使CPU資源被該服務程序長期占用,而不釋放,其它任務程序無法執行,使整個系統出現“死鎖”。對這種干擾造成的“死鎖”問題,在軟件編程中,可采用“時間片”的方法來解決。其具體步驟為:
根據不同的輸入/輸出外設對時間的要求,分配相應的最大正常的輸入/輸出時
間。在每一輸入/輸出的任務模塊中,加入相應的超時判斷程序。這樣當干擾破壞了接口的狀態造成CPU誤操作后,由于該外設準備好信息長期無效,經一定時間后,系統會從該外設的服務程序中自動返回,保證整個軟件的周期性不受影響,從而避免“死鎖”情況的發生。