3
我正試圖把讀/寫到串口的概念證明放在一起,而我遇到了設計/概念問題。我不想輪詢,所以我試圖使用重疊I/O。在這種情況下,它不是一個多線程應用程序 - 它只是使用高效的等待。Win32,串行端口讀/寫和重疊
- 開放端口(具有重疊)
- SetCommState(設置端口波特率,奇偶校驗,CTS/RTS等)
- SetCommMask(EV_BREAK,EV_CTS,EV_DSR,...,EV_RXCHAR,EV_RXFLAG,EV_TXEMPTY)
- 創建OVERLAPPED結構和活動
- 的WriteFile(端口)
- WaitCommEvent(由於寫)
- WaitCommEvent(因念)
- ReadFile的(從端口)
- 檢查讀緩衝
的MSDN例子是種跛腳(Monitoring Communications Events)。我目前使用兩個事件,但ReadFile
步驟與ERROR_INVALID_PARAMETER
一起失敗。
在上面的步驟中,我是否需要一個或兩個重疊結構?如果一個OVERLAPPED
結構,是步驟WriteFile
,WaitCommEvent
(用於寫入),重置事件,WaitCommEvent
(用於讀取),ReadFile
?
你需要證明你實際的代碼,而不是你的代碼的說明,如果你期望任何人都能夠幫助你。沒有看到你實際傳遞給'ReadFile()'的參數,你期望得到幫助,找出它爲什麼會抱怨它們? –