我需要超时以读取整个串行字节,显然它必须取决于接收数据的长度。但是由于不知道长度,我们必须设置一个大约的时间。我正在使用for循环为每个特定数组设置超时,如下所示。这种方法可以正常工作,但仅适用于一台设备,而当我将应用程序安装在CPU速度最快的另一台设备上时,我的期望时间就不同了。我需要一个解决方案以使超时。
usbService.serial_input = new StringBuffer();
usbService.write_in_serial_port(sending_byte_array);
for (int i = 0 ; i < 70000 ; i++)
receiving_byte_array = String.valueOf(usbService.serial_input).getBytes(Charset.forName("ISO_8859_1"));
if (receiving_byte_array.length < 6)
return false;
sending_byte_array = REQ_MESSAGE;
usbService.write_in_serial_port(sending_byte_array);
for (int i = 0 ; i < 80000 ; i++)
receiving_byte_array = String.valueOf(usbService.serial_input).getBytes(Charset.forName("ISO_8859_1"));
if (receiving_byte_array.length == 0 )
return false;