作者:
KERPAT ( )
2015-08-13 15:24:16開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
WDK
問題(Question):
小弟正在做關於HDI的東西,目前卡在的問題是裝置不一定有回傳資訊,
而沒回傳資訊時程式會被卡住,此時我想要有個Time out的功能,
讓函示如果超過一定的時間沒有回傳東西時可以跳出.
請先進們幫我指點一下有甚麼樣的方法可以實踐,謝謝.
作者:
johnpage (johnpage)
2015-08-13 15:53:00狀態機
作者: KERPAT ( ) 2015-08-13 16:30:00
不好意思 我查的狀態機好像都是要返回東西才可以決定下一步 我想要問一下有函數能知道輸入的函數幾秒內沒有返回就會跳出 謝謝 讓我多知道有狀態機這東西
作者:
bdvstg (bdvstg)
2015-08-13 17:26:00Timer、Thread、Sleep?
不知道windows底下有沒有non-blocking的做法用non-blocking,讀不到東西就會return就看失敗幾次,然後跳出function就好
作者:
donby (東逼)
2015-08-13 21:51:00linux的select函式?
作者:
haoboo (薩伊克斯)
2015-08-13 22:34:00windows的話直接用Timer就好了吧?
作者:
EdisonX (卡卡獸)
2015-08-13 23:15:00我比較好奇如果硬體在執行某個功能卡死時 , OS 這裡怎做強制停止 ? 我知道的也就只有斷電這種暴力的方法
作者:
johnpage (johnpage)
2015-08-14 05:04:00ctrl+alt+del
作者: VSei (Chaos) 2015-08-14 10:34:00
計算step當時間,多少step沒資料就自己傳沒收到資料的code?
作者: firose (guest也是也是也是也是也) 2015-08-14 10:49:00
自己計時,但重點是內部呼叫的函數都必須是 non-blocking
作者:
EdisonX (卡卡獸)
2015-08-15 01:17:00所以 blocking 在硬體那幾乎就是沒救要斷電了 ?
作者:
askacis (ASKA)
2015-08-16 19:57:00呼叫之前開thread monitor,blocking 太久就reset HW
作者:
ah7675 (阿毛)
2015-08-16 20:53:00在linux上要看是不是interruptable 是的話就可以用signal喚醒重新排程