我的RS232串口分割输入我发送它
本文关键字:输入 RS232 串口 分割 我的 | 更新日期: 2023-09-27 17:49:55
我有一个USB到RS232适配器,我用它从条形码阅读器获得长输入(28个字符)。我的电脑一切正常。
我将c#应用程序安装在其他计算机上,该计算机具有RS232串口连接到其PCI-E,当我从条形码读取器接收输入时,它将其分成两部分!
我怎么知道的?因为我在c#应用程序上有一个DataReceived
的事件处理程序,它被调用了2次,每次我都得到了输入的一部分。
RS232 PCI-E端口由Oxford Semiconductor Inc.生产。
操作系统是Windows 7。
我假设这是一个硬件问题,而不是我的应用程序的问题。可能需要更改一些设置,缓冲区大小或类似的东西,但我找不到这样的东西。
提前感谢!
不,这是你的应用程序。你不应该期望所有的数据立即可用;你在第一台机器上很幸运。你需要调用Read()
,直到你得到你所期望的一切。
uart、驱动程序等的差异可能导致窗口多次引发该事件,具体取决于时间和其他因素。
下面的内容:
char buf[28];
int offset = 0;
int nread;
while (offset < buf.Length) {
nread = comPort.Read(buf, offset, buf.Length - offset);
offset += nread;
}