From 824233c5470ba7dbeb261f284dbfce65702cae12 Mon Sep 17 00:00:00 2001 From: cfif Date: Fri, 13 Feb 2026 15:59:41 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Src/CanSerialPortFrame.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Src/CanSerialPortFrame.c b/Src/CanSerialPortFrame.c index 6213672..f73eb41 100644 --- a/Src/CanSerialPortFrame.c +++ b/Src/CanSerialPortFrame.c @@ -343,6 +343,19 @@ void CanSerialPortFrameIrqRxProcessing(tCanSerialPortFrameFlagchip *env, uint32_ } + if (env->CountSoftFilter_RX == 0) { + // message buffer 3th word + uint32_t *pSrc = (uint32_t *) FLEXCAN_MB_WORDN_ADDR(&pBuf[env->pBufCounter << 2], 0U, 8U, 8U); + uint32_t *pDest = (uint32_t *) &env->rx_message_struct.data[0]; + + uint32_t u32WordLen = env->rx_message_struct.dlc / 4U + (env->rx_message_struct.dlc % 4U > 0U ? 1U : 0U); + + for (uint32_t u8Index = 0U; u8Index < u32WordLen; ++u8Index) { + REV_BYTES_32(pSrc[u8Index], pDest[u8Index]); + } + + CanSerialPortFrameAddDataQueue(env, &env->rx_message_struct, 0); + } ++env->pBufCounter;