Unix串行端口具有較大的輸出緩衝區。只要緩衝區中有空間,寫入調用就會立即返回。當沒有足夠的空間時,阻塞寫入等待,直到緩衝區被清空到某個低電平。Windows 7中的串行端口輸出緩衝區大小
在Windows 7 SP1中,內置的16550串行端口的行爲就好像沒有輸出緩衝區一樣。看起來寫塊阻塞,直到數據從端口輸出。如果有緩衝區,它甚至比設備管理器中設置的16個字節(在COM1的高級設置中)更小。 SetupComm函數允許我指定輸入和輸出緩衝區的推薦大小。但是,輸出緩衝區大小似乎不會改變任何行爲,並且GetCommProperties始終將dwCurrentTxQueue字段設置爲零。 SetupComm唯一可以做的是增加輸入緩衝區的大小。
機器長時間未配備串口。這是一個真正的端口還是它實際上是一個模擬器?在設備管理器中查看驅動程序。 –
是的,它是PC主板上的真正串行端口。這就是我所說的「建於16550串口」。 16550是一種內置端口通常兼容的UART芯片。 – dreamlayers