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);