有没有办法使用2-3 mbps的串口?

jac*_*nad 4 c# serial-port

我需要以2-3 mbps的速度向C#Windows PC应用程序传输串行数据.C#winforms似乎对此并不满意.

openFileDialog.Filter =
    @"Image Files(*.bmp;*.jpg;*.jpeg;*.gif)|*.bmp;*.jpg;*.jpeg;*.gif|All files (*.*)|*.*";
if (openFileDialog.ShowDialog() != DialogResult.OK) return;
var image = Image.FromFile(openFileDialog.FileName);
serialPort1.Open();
// Now send the image at 2-3 mbps
...
Run Code Online (Sandbox Code Playgroud)

BaudRate = 115200有效.BaudRate = 230400导致System.IO.IOException.

在此输入图像描述

Sco*_*ain 9

打开设备管理器并展开"端口".

在此输入图像描述

双击COM1并转到"端口设置"​​选项卡

在此输入图像描述

在"每秒位数"下,列出您可以在com端口的proprieties字段中输入的值.如果您想要高于您的硬件允许的其他硬件或使用串行端口之外的其他东西来在两个设备之间传输.

如果您要在评论中发布您要连接的其他设备,我们可能会建议更好的方式.


Mic*_*sch 5

这篇文章已经有 4 年历史了,所以对于那些偶然发现它的人来说:

\n\n

1、串口硬件需要支持数据速率。2、驱动程序需要让你选择想要的波特率。某些驱动程序或芯片可能需要调整才能让您选择非标准(或高于 115200)波特率。我遇到过的一些USB转串口芯片的最大波特率:

\n\n
    \n
  • Silicon Labs CP2102 和 CP2109:921.6 kbps
  • \n
  • FTDI FT232R:3 Mbps
  • \n
  • 多产 PL-2303HX 和 PL-2303HXD:12Mbps
  • \n
\n\n

我目前正在使用 FT232R @ 1Mbps

\n\n

关于 C# 和 .NET 的使用:.NET 似乎在串行端口方面很糟糕。请参阅http://www.sparxeng.com/blog/software/must-use-net-system-io-ports-serialport(它引用了这个线程,这就是我到达这里的方式)。

\n\n

一位同事为我制作了 ac# .NET 程序,使用 FT232R 和 .NET 3.5 以 1Mbps 的速度进行通信。它在他的 PC 和笔记本电脑上运行正常,但在我的 PC 上却卡在 9600bps。尝试了多种方法,包括驱动卸载、重新启动、冷启动和手动安装驱动程序,但均无济于事。然后他针对 .NET 4 重新编译了它,瞧\xc3\xa1,它起作用了。有趣的是,之后他给了我一个小的修改,但错误地将其编译为 .NET 3.5,但它起作用了。

\n