Browse Source

修复CAN接受小内存溢出的BUG

master
zhaohe 1 year ago
parent
commit
1414e17557
  1. 5
      components/zcancmder/zcanreceiver.cpp

5
components/zcancmder/zcanreceiver.cpp

@ -321,6 +321,11 @@ void ZCanCmder::STM32_HAL_onCAN_RxFifo0MsgPending(CAN_HandleTypeDef *canHandle)
rxbuf->m_canPacketNum = 0; rxbuf->m_canPacketNum = 0;
} }
if (rxbuf->m_canPacketNum != frameId) {
rxbuf->m_canPacketNum = 0;
continue;
}
if (rxbuf->m_canPacketNum < ZARRAY_SIZE(rxbuf->m_canPacket)) { if (rxbuf->m_canPacketNum < ZARRAY_SIZE(rxbuf->m_canPacket)) {
rxbuf->m_canPacket[rxbuf->m_canPacketNum].dlc = pHeader.DLC; rxbuf->m_canPacket[rxbuf->m_canPacketNum].dlc = pHeader.DLC;
memcpy(rxbuf->m_canPacket[rxbuf->m_canPacketNum].aData, aData, 8); memcpy(rxbuf->m_canPacket[rxbuf->m_canPacketNum].aData, aData, 8);

Loading…
Cancel
Save