diff options
| author | Bernard Xiong <[email protected]> | 2020-02-11 11:56:01 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2020-02-11 11:56:01 +0800 |
| commit | dd5178efdfa8ad6943459c1284237509a78c3367 (patch) | |
| tree | adcf2bec053196057cc8c36add6879b781aa08c7 | |
| parent | fbe98db3816ece7c3da9cfae842f76cf3c42ef85 (diff) | |
| parent | 50c2af5eeaa10b776e19d47d55671495c4a82fbb (diff) | |
Merge pull request #3352 from z14git/serial_bug_fix
修复因串口接收缓冲区满且没有开启ULOG_USING_ISR_LOG而造成的死机问题
| -rw-r--r-- | components/drivers/serial/serial.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/components/drivers/serial/serial.c b/components/drivers/serial/serial.c index 50dd7e188b..d1c04dec6f 100644 --- a/components/drivers/serial/serial.c +++ b/components/drivers/serial/serial.c @@ -330,14 +330,16 @@ rt_inline int _serial_int_tx(struct rt_serial_device *serial, const rt_uint8_t * static void _serial_check_buffer_size(void) { static rt_bool_t already_output = RT_FALSE; - + if (already_output == RT_FALSE) { +#if !defined(RT_USING_ULOG) || defined(ULOG_USING_ISR_LOG) LOG_W("Warning: There is no enough buffer for saving data," " please increase the RT_SERIAL_RB_BUFSZ option."); +#endif already_output = RT_TRUE; } -} +} #if defined(RT_USING_POSIX) || defined(RT_SERIAL_USING_DMA) static rt_size_t _serial_fifo_calc_recved_len(struct rt_serial_device *serial) @@ -1286,4 +1288,3 @@ void rt_hw_serial_isr(struct rt_serial_device *serial, int event) #endif /* RT_SERIAL_USING_DMA */ } } - |
