有一個(gè)問題想請(qǐng)教大家,我搞的一個(gè)上位機(jī)程序要不斷地向ch372設(shè)備讀寫數(shù)據(jù),速度為20ms讀寫一次,而這個(gè)設(shè)備是有可能隨時(shí)被從上位機(jī)拔掉的,因此我的程序必須要能判斷該設(shè)備是否被拔掉.問題是我如何才能判斷該設(shè)備被拔掉了呢?我目前是想通過判斷ch375WriteData和ch375ReadData的執(zhí)行成功與否來判斷的,但我發(fā)現(xiàn)當(dāng)這個(gè)設(shè)備突然被隨機(jī)地拔掉后,有的時(shí)候能在ch375WriteData和ch375ReadData處捕捉到執(zhí)行失敗,但有的時(shí)候程序直接就死掉了,連從任務(wù)管理器內(nèi)關(guān)閉進(jìn)程都關(guān)閉不掉,請(qǐng)問這是怎么回事呢?有沒有什么好的安全的方法可以捕獲設(shè)備的拔出/插入事件呢?(另外,我的程序已用ch375SetTimeout設(shè)置了讀寫超時(shí)為100ms).
查看: 1701
回復(fù): 2
主機(jī)正在從ch372設(shè)備讀寫數(shù)據(jù),突然被拔掉怎么處理?
長(zhǎng)江浪花
發(fā)表于: 2009-01-04 17:04:00
熱門產(chǎn)品 :
CH390:以太網(wǎng)控制器芯片
進(jìn)程關(guān)閉不掉是因?yàn)樵O(shè)備拔掉后有一個(gè)讀請(qǐng)求或是寫請(qǐng)求被掛起了,你調(diào)用CH375AbortRead( )// 放棄數(shù)據(jù)塊讀操作或CH375AbortWrite( ) // 放棄數(shù)據(jù)塊寫操作試試.我們的庫(kù)中有一個(gè)CH375SetDeviceNotify是用來設(shè)定設(shè)備事件通知程序,拔出/插入事件都可以通過事件回調(diào)函數(shù)來檢查到.
長(zhǎng)江浪花
發(fā)表于: 2009-01-05 12:41:00
好的,謝謝了,我試試看.
請(qǐng)勿發(fā)布廣告和違法內(nèi)容, 代碼可以選擇編輯器代碼語(yǔ)言格式, 更易他人閱讀幫助您, 或者留下聯(lián)系方式,以便更好更快服務(wù)您
只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄