'flutter_libserialport write OK but read unhandled exception

I'm trying to implement a simple at cmd application. I modified the flutter_libserialport example. https://pub.dev/packages/flutter_libserialport

simply,

  1. replace the floatButton action to my own reTest() function
    floatingActionButton: FloatingActionButton(
        child: Icon(Icons.refresh),
        // onPressed: initPorts,
        onPressed: rwTest,
    ),
  1. and my rwTest below,
    Future<void> rwTest() async {
        for (var p in availablePorts) {
          if (p == 'COM115') {
            print(p);
            List<int> d = [65, 84, 13];
            Uint8List bytes = Uint8List.fromList(d);
            SerialPort port = SerialPort(p);
            SerialPortReader reader = SerialPortReader(port, timeout: 10000);
            try {
              port.openReadWrite();
              print(port.write(bytes));
              await reader.stream.listen((data) {
                print('received : $data');
              });
              port.close();
            } on SerialPortError catch (_, err) {
              if (port.isOpen) {
                port.close();
                print('serial port error');
              }
            }
          }
        }
      }

my device is shown as COM115 so I put the fixed value. and the "write" operation was success but when I use "reader.stream.listen()"

SerialPortError occurs as below flutter: COM115 flutter: 3 [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: SerialPortError: ÀÛ¾÷À» ¿Ï·áÇß½À´Ï´Ù., errno = 0

I guess the usage of "listen" was wrong, but I don't know how to fix it. anyone can help me to fix it?



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source