所以我使用SerialPort类从串行设备读取数据。我的代码如下所示。我研究了一下,发现串行数据以100kb /秒的速度读取。因此,根据这一点,我的程序必须在2秒内读取数据,因为我已经调用了readHexString函数,其中200000作为参数,因此读取200000字节,我只想知道为什么读取数据需要花费很多时间连续?
serialPort.openPort();
serialPort.setParams(SerialPort.BAUDRATE_57600,
SerialPort.DATABITS_8,
SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE);
int count = 0;
String data = serialPort.readHexString(200000);
答案 0 :(得分:2)
你不能假设100kb /秒
2000000字节导致34,722秒
我想询问您的设备是否连续发送数据?您的代码读取200.000字节。所以你必须等到缓冲区已满。您可以尝试循环较少量的数据,并在达到标记时中断。