看板 C_and_CPP 關於我們 聯絡資訊
Windows platform 請使用 I/O Completion Ports http://msdn.microsoft.com/en-us/library/windows/desktop/aa365198(v=vs.85).aspx 系統會幫你在有資料進來的時候觸發 Event 並不會用到你 main thread resource 傳統我們做 rs232 polling 需要額外的 thread 來 monitor 狀態 此時會浪費很多的 resource 改用 I/O completion ports 則可以避免這個問題 使用方法就會變得跟傳統的 file io 一樣 適用於 com port, file io, windows socket. ※ 引述《notBeing (read and be read)》之銘言: : 開發平台(Platform): (Ex: VC++, GCC, Linux, ...) : borland C++ : 最近在讀前輩寫的RS232程式。 : 發現從device讀取資料回來,是用timer在polling。雖然 : 程式裡面有幾個事件是去檢查rs232 port的狀態是否有改 : 變,進而決定是否要做讀取資料的動作。 : 但是檢查rs232 port的狀態是用timer去不斷的檢查。 : 想請教一個問題,能不能夠讓軟體被處於一個被動的狀態, : 當port上狀態有改變時,進而使得程式進行某些動作。 : 而不是讓程式主動的去檢查port的狀態是否改變。 : 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 36.231.30.168