Procházet zdrojové kódy

[components][drivers][can] can.c bug修复:
在RT_CAN_USING_HDR宏关闭的时候,接收数据大小的计算应该是:已使用链表数*sizeof(struct rt_can_msg)。

yaomo718 před 6 roky
rodič
revize
b67a8152a5
1 změnil soubory, kde provedl 1 přidání a 1 odebrání
  1. 1 1
      components/drivers/can/can.c

+ 1 - 1
components/drivers/can/can.c

@@ -854,7 +854,7 @@ void rt_hw_can_isr(struct rt_can_device *can, int event)
 
                 level = rt_hw_interrupt_disable();
                 /* get rx length */
-                rx_length = rx_fifo->freenumbers * sizeof(struct rt_can_msg);
+                rx_length = rt_list_len(&rx_fifo->uselist)* sizeof(struct rt_can_msg);
                 rt_hw_interrupt_enable(level);
 
                 can->parent.rx_indicate(&can->parent, rx_length);