串行端口,CreateFile和SetCommState

时间:2010-04-22 14:35:01

标签: windows performance serial-port

我正在使用Windows API的CreateFile和SetCommState函数来打开许多串口进行读写,使用这种表示法选择端口:

\\?\COM1

我一直在密切记录性能,并且由于一些奇怪的原因,CreateFile调用花费的时间与SetCommState调用的时间差不多(约4.1秒)。

我发现这很奇怪,让我怀疑CreateFile和SetCommState都使用处理串口通信的windows子系统执行一组类似的任务。

有没有办法加速其中一个调用,或者消除一个调用,例如以这样的方式调用CreateFile它已经使用了我准备调用SetCommState的DCB?

1 个答案:

答案 0 :(得分:0)

您发布的文档建议调用GetCommState来初始化DCB结构。我想知道延迟是因为你设置了一些你不关心的东西?对于它的价值,我注意到打开蓝牙虚拟COM端口比常规端口或USB端口有更大的延迟。