summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authoraozima <[email protected]>2013-09-24 15:25:24 +0800
committeraozima <[email protected]>2013-09-24 15:29:08 +0800
commitcad12ee14e5b10721c04c4c26eabdfd3167bfc17 (patch)
tree1f288d2af08ce9433bcf625a4efb838845712bdc /src
parent0b844aa82d6efcab0655380ca6716fbe4c183bd6 (diff)
update rt_kprintf: make sure the device is in STREAM mode when used by rt_kprintf.
Diffstat (limited to 'src')
-rw-r--r--src/kservice.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/kservice.c b/src/kservice.c
index c2fa43ba73..0f06806087 100644
--- a/src/kservice.c
+++ b/src/kservice.c
@@ -29,6 +29,7 @@
* 2012-11-23 Bernard fix IAR compiler error.
* 2012-12-22 Bernard fix rt_kprintf issue, which found by Grissiom.
* 2013-06-24 Bernard remove rt_kprintf if RT_USING_CONSOLE is not defined.
+ * 2013-09-24 aozima make sure the device is in STREAM mode when used by rt_kprintf.
*/
#include <rtthread.h>
@@ -1125,7 +1126,11 @@ void rt_kprintf(const char *fmt, ...)
}
else
{
+ rt_uint16_t old_flag = _console_device->flag;
+
+ _console_device->flag |= RT_DEVICE_FLAG_STREAM;
rt_device_write(_console_device, 0, rt_log_buf, length);
+ _console_device->flag = old_flag;
}
#else
rt_hw_console_output(rt_log_buf);