我正在C#下开发一个应用程序,以便从连接到串行端口的硬件读取一些数据。
基本上,硬件通过串口发送它的位置(X,Y,Z)和它的温度以及其他几个十进制值。
我希望扫描速度能快到10毫秒;这意味着我想每隔10毫秒从端口读取温度、位置和其他值。
硬件提供了一个MFC应用程序,能够以此速率读取数据。在C#中有可能具有相同的性能吗?我现在没有可用的硬件,所以我不知道使用C#能否做到这一点。
发布于 2011-01-16 01:53:51
如果你需要每10ms发送大约20个字节(估计6个字段,每个字段3个字符),那么你至少需要16k波特率,这并不多。实际上,我非常怀疑C#处理串口通信的速度是否如此之慢,以至于无法处理。
如果你知道你的硬件的串行通信参数,那么在C#中使用它应该很容易。我只知道如何在Win32接口中使用它,你需要CreateFile,,SetCommTimeouts,SetCommState和ReadFile调用。似乎这个函数也可以从C#访问。
如果你不知道这个串口的参数,也许可以用串口嗅探器获取它们,但我不确定。
https://stackoverflow.com/questions/4700834
复制相似问题