主機(jī)正在從ch372設(shè)備讀寫數(shù)據(jù),突然被拔掉怎么處理?

有一個(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).

進(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ù)來檢查到.


好的,謝謝了,我試試看.


只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频