首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我的RS232串口拆分我发送的输入

我的RS232串口拆分我发送的输入
EN

Stack Overflow用户
提问于 2012-12-29 03:00:19
回答 1查看 477关注 0票数 0

我有一个USB转RS232适配器,我用它从条形码阅读器获取长输入(28个字符)。我的电脑一切正常。

我将我的c#应用程序安装在另一台有RS232串口连接到其PCI-E的计算机上,当我从条形码阅读器接收输入时,它将其分成两部分!

我怎么知道的?因为我在c#应用程序上有一个用于DataReceived的事件处理程序,它被调用了2次,每次我都会得到输入的一部分。

PCI E端口由牛津半导体公司制造。

操作系统为Windows 7。

我假设这是硬件问题,而不是我的应用程序中的问题。也许要更改一些设置,缓冲区大小或类似的东西,但我找不到这样的东西。

在进阶时谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-29 03:02:06

不,这是你的应用程序。您不应该期望所有数据都能立即可用;您在第一台机器上就很幸运了。你需要调用Read(),直到你得到你想要的一切。

UART、驱动程序等的差异可能会导致窗口多次引发该事件,这取决于时间和其他因素。

大致是这样的:

代码语言:javascript
运行
复制
char buf[28];
int offset = 0;
int nread;
while (offset < buf.Length) {
    nread = comPort.Read(buf, offset, buf.Length - offset);
    offset += nread;
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14074375

复制
相关文章

相似问题

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