首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法使用2-3 mbps的串口?

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

Stack Overflow用户
提问于 2011-06-16 03:54:05
回答 6查看 16.3K关注 0票数 4

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

代码语言:javascript
复制
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
...

BaudRate = 115200行得通。BaudRate = 230400会导致System.IO.IOException。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-06-16 04:15:28

打开设备管理器并展开“端口”。

双击COM1并转到"Port Settings“选项卡

在"Bits per second“下列出了您可以在com端口的属性字段中输入的值。如果您想要比您的硬件所允许的更高,您需要其他硬件或使用串行端口以外的其他东西在两个设备之间传输。

如果您在评论中发布您正在连接的另一台设备是什么,我们可能会提出一个更好的方法。

票数 9
EN

Stack Overflow用户

发布于 2011-06-16 04:01:20

如果你的硬件支持这些速度,那么Windows也支持。.NET SerialPort类可能允许也可能不允许您将波特率设置得如此之高,如果不允许,则尝试调用SetCommState

票数 4
EN

Stack Overflow用户

发布于 2015-12-07 21:30:16

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

首先,串口硬件需要支持数据速率。第二,司机需要让你选择想要的波特率。一些驱动程序或芯片可能需要调整,让您选择非标准(或高于115200)波特率。我遇到的几个USB到串行芯片的最大波特率:

  • Silicon实验室CP2102 & CP2109:921.6 kbps
  • FTDI FT232R:3 Mbps
  • Prolific PL-2303HX & PL-2303HXD:12 12Mbps

我目前使用的是FT232R @1 1Mbps

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

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

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6363504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档