我想通過虛擬COM端口與硬件設備通話。主機是PC Windows OS PC。設備正在使用921600波特率。此代碼的工作:自定義波特率
DCB dcb; ... dcb.BaudRate = CBR_115200; SetCommState(hPort, &dcb);
一旦我改變波特率:
dcb.BaudRate = 921600;
SetCommState失敗,最後一個錯誤0x57
(參數不正確)。這是否意味着Windows API可以防止除預定義值之外的任何波特率?或者,也許,虛擬COM端口可能配置爲允許此波特率?
虛擬COM端口是CameraLink連接的一部分。我正在與CameraLink主板供應商交談。但是我需要知道Windows串行通信API是否支持自定義波特率。
如果這是一個虛擬COM端口,通常組態的波特率無關緊要。如果您將費率降至9600或4800左右,您是否看到它放慢速度?我懷疑它不會。 – Brad
根據我對CameraLink的經驗:COM端口僅用於配置相機,並且應該以標準低數據速率(通常爲9600baud)工作。 CameraLink本身速度更快,但不通過COM端口。其他實現是非標準的。 (參見[CameraLink規範](http://www.lord-ing.com/web/IMG/pdf/Camera_Link-2.pdf)) –
@Adrien Plisson:根據Cameralink規範,相機和圖像採集卡應支持至少9600波特。其實,我正在支持115200的圖像採集卡。它看起來像圖像採集卡阻止我,而不是Windows。 –