Explorar o código

[device][serial] call rx_indicate function only if the rx_length is not equal 0

liang yongxiang %!s(int64=6) %!d(string=hai) anos
pai
achega
2f402db661
Modificáronse 1 ficheiros con 4 adicións e 1 borrados
  1. 4 1
      components/drivers/serial/serial.c

+ 4 - 1
components/drivers/serial/serial.c

@@ -1180,7 +1180,10 @@ void rt_hw_serial_isr(struct rt_serial_device *serial, int event)
                     (serial->config.bufsz - (rx_fifo->get_index - rx_fifo->put_index));
                 rt_hw_interrupt_enable(level);
 
-                serial->parent.rx_indicate(&serial->parent, rx_length);
+                if (rx_length)
+                {
+                    serial->parent.rx_indicate(&serial->parent, rx_length);
+                }
             }
             break;
         }