diff --git a/components/drivers/serial/serial.c b/components/drivers/serial/serial.c index 2511f18102..c2cc2f615c 100644 --- a/components/drivers/serial/serial.c +++ b/components/drivers/serial/serial.c @@ -221,7 +221,10 @@ rt_inline int _serial_poll_rx(struct rt_serial_device *serial, rt_uint8_t *data, *data = ch; data ++; length --; - if (ch == '\n') break; + if(serial->parent.open_flag & RT_DEVICE_FLAG_STREAM) + { + if (ch == '\n') break; + } } return size - length;