diff --git a/components/drivers/serial/serial.c b/components/drivers/serial/serial.c index 2511f18102aaac4d3220e227ab55c2e50219c8b1..c2cc2f615c7346a04e61b0f676d11e733191d368 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;