From d53f3681fddc40dc60ca9d8cad595ce58e4d1cbe Mon Sep 17 00:00:00 2001
From: darya
Date: Tue, 23 Jun 2026 09:48:46 +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=2023.06.2026?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Inc/CanSerialPortFrame.h | 2 +-
Src/CanSerialPortFrame.c | 23 +++++++++++++----------
2 files changed, 14 insertions(+), 11 deletions(-)
diff --git a/Inc/CanSerialPortFrame.h b/Inc/CanSerialPortFrame.h
index 17059d9..398ba1e 100644
--- a/Inc/CanSerialPortFrame.h
+++ b/Inc/CanSerialPortFrame.h
@@ -61,7 +61,7 @@ typedef struct {
FLEXCAN_IdType canTypeFrame;
bool canFilterEnable;
- bool reInit;
+ bool reInitOne;
uint8_t CountHardSoftFilter_RX;
diff --git a/Src/CanSerialPortFrame.c b/Src/CanSerialPortFrame.c
index c996a75..3d8ee96 100644
--- a/Src/CanSerialPortFrame.c
+++ b/Src/CanSerialPortFrame.c
@@ -117,10 +117,6 @@ bool vCanSerialPortFrameDMAInit(
env->DMA_TransferCompleteCallback = DMA_TransferCompleteCallback;
env->DMA_ErrorCallback = DMA_ErrorCallback;
-
- env->txDataQueueCan = osMessageQueueNew(1, 1, NULL);
- env->access = osMutexNew(NULL);
-
//начало-----------------------------------DMA-RX-------------------------------------------------------------------
//начало-----------------------------------DMA-RX-------------------------------------------------------------------
//начало-----------------------------------DMA-RX-------------------------------------------------------------------
@@ -266,8 +262,13 @@ bool vCanSerialPortFrameDMAInit(
}
- if (!env->reInit) {
- env->reInit = true;
+ if (!env->reInitOne) {
+
+ env->reInitOne = true;
+
+ env->txDataQueueCan = osMessageQueueNew(1, 1, NULL);
+ env->access = osMutexNew(NULL);
+
vCanSerialPortFrameInitStructure(env, 10, 0);
CanSerialPortFrameSetType(env, canTypeFrame);
@@ -325,8 +326,6 @@ bool vCanSerialPortFrameMbInit(
// env->DMA_TransferCompleteCallback = DMA_TransferCompleteCallback;
// env->DMA_ErrorCallback = DMA_ErrorCallback;
- env->access = osMutexNew(NULL);
- env->txDataQueueCan = osMessageQueueNew(1, 1, NULL);
//начало------------------------------------CAN---------------------------------------------------------------------
//начало------------------------------------CAN---------------------------------------------------------------------
@@ -421,8 +420,12 @@ bool vCanSerialPortFrameMbInit(
}
- if (!env->reInit) {
- env->reInit = true;
+ if (!env->reInitOne) {
+ env->reInitOne = true;
+
+ env->access = osMutexNew(NULL);
+ env->txDataQueueCan = osMessageQueueNew(1, 1, NULL);
+
vCanSerialPortFrameInitStructure(env, 10, 0);
CanSerialPortFrameSetType(env, canTypeFrame);