【发布时间】:2015-01-26 20:41:39
【问题描述】:
切换到 Windows 7 x64 后,连接到串行端口的重量指示器设备的行为开始与 Windows 7 x32 不同。
读取操作的时间或读取缓冲区的行为似乎略有不同。
我用SerialWatcher监控串口COM2的输出,得到不同的结果:
在 x64 下显示:
0029484 00 11<CR><LF>z0011807 00 11<CR><LF>
0029489 00 11<CR><LF> 0029486 00 11<CR>
<LF> 0029485 00 11<CR><LF> 0029485
00 11<CR><LF> 0029486 00 11<CR><LF> 002948
5 00 11<CR><LF> 0029487 00 11<CR><LF>
0029487 00 11<CR><LF> 0029488 00 11<CR><LF>
0029486 00 11<CR><LF> 0029486 00 11<CR><LF>
0029485 00 11<CR><LF> 0029486 00 11<CR><LF>
在 x32 下显示:
0029910 20 11<CR><LF> 0029911 20 11<CR><LF>
0029912 20 11<CR><LF> 0029913 20 11<CR><LF>
0029910 20 11<CR><LF> 0029910 20 11<CR><LF>
0029910 20 11<CR><LF> 0029911 20 11<CR><LF>
0029911 20 11<CR><LF>z0012057 20 11<CR><LF>
0029912 20 11<CR><LF> 0029910 20 11<CR><LF>
0029912 20 11<CR><LF> 0029910 20 11<CR><LF>
0029912 20 11<CR><LF> 0029911 20 11<CR><LF>
0029909 20 11<CR><LF> 0029910 20 11<CR><LF>
0029910 20 11<CR><LF> 0029909 20 11<CR><LF>
在带有这种特殊重量指示器设备的 Windows x64 上,传入数据块的大小往往更加不规则。
我知道这可以很容易地在应用程序级别修复,等待完整的数据进入读取缓冲区然后正确处理它,但是这个串行端口数据目前正在由我无法修改的第 3 方应用程序处理。
我正在使用 FTDI USB 串行转换器:
Windows 中是否有一些系统设置可以解决这个问题? 我们也有非常相似的问题,另一个重量指示器直接连接到主板上的 COM 端口。 感谢您的任何建议。
【问题讨论】:
标签: windows-7 serial-port windows-7-x64 usbserial ftdi