【发布时间】:2021-06-09 20:42:20
【问题描述】:
我正在尝试从 COM 端口读取数据。我使用了提高数据传输速度的 PL2303TA 转换器。我的数据传输速度是 3Mpbs,我正在寻找以这种速度读取数据的样本。 我用 C# 编写了一个程序并使用“while”循环来读取接收数据。但有些数据已经丢失。
int _max = 50000; // max sample
SerialPort port = new SerialPort("COM4",
3000000, Parity.None, 8, StopBits.One);
port.Open();
List<string> slist = new List<string>();
while(true)
{
string sdata = port.ReadLine();
slist.Add(sdata);
if (slist.Count > _max)
break;
}
我的设备发送数据顺序如下:
1,2,3,...,7000,1,2,3...,7000,1,2,3
通过这段代码,我收到如下数据:
1,3,5,...,6999,1,3,5,...,6999,1,3,5
(我的设备是“ARM Micro-controller AT91SAM7S64-AU”,每个数字用换行符发送:“\n”)
如何提高阅读速度?
谢谢。
PL2303TA USB 转串行桥控制器 http://www.prolific.com.tw/US/ShowProduct.aspx?p_id=153&pcid=41
【问题讨论】:
-
您如何知道数据是否按预期传输?由于缺少整行,因此问题更可能在源头上。
-
您是否在任何较慢的波特率下进行了测试,以验证硬件连接和软件是否都按预期运行?如果没有,那为什么不呢?
标签: c# serial-port highspeed