C#中的串口读取速率

时间:2011-01-15 16:53:09

标签: c# mfc serial-port

我正在使用C#开发一个应用程序来从连接到串行端口的硬件读取一些数据。

基本上,硬件通过串口发送其位置(X,Y,Z)及其温度以及其他几个十进制值。

我希望扫描速度能够达到10毫秒;意思是我想从端口每10毫秒读取温度,位置和其他值。

硬件可以使用MFC应用程序,它能够以此速率读取数据。是否可以在C#中具有相同的性能?我现在没有可用的硬件,所以我不知道使用C#是否可行。

1 个答案:

答案 0 :(得分:1)

如果你需要每10 ms发送大约20个字节(作为6个字段的估计,每个3个字符),那么你需要至少16k波特,这并不多。实际上,我非常怀疑C#在处理串口通信时失败很慢。

如果您知道硬件的串行通信参数,那么从C#中使用它应该很容易。我只知道如何在Win32 API中使用它,你需要CreateFile,SetCommTimeouts,SetCommState和ReadFile调用。似乎这些函数也可以从C#访问。

如果您不知道此串口的参数,可能会使用串口嗅探器获取它们,但我不确定。