diff --git a/Inc/CanSerialPortFrame.h b/Inc/CanSerialPortFrame.h index f365e19..b5c674a 100644 --- a/Inc/CanSerialPortFrame.h +++ b/Inc/CanSerialPortFrame.h @@ -92,7 +92,7 @@ typedef struct { } tCanSerialPortFrameFlagchip; -void vCanSerialPortFrameDMAInit( +bool vCanSerialPortFrameDMAInit( tCanSerialPortFrameFlagchip *env, FLEXCAN_Type *CANx, // FLEXCAN0 uint8 CAN_INDEX, // CAN0 = 0 ... CAN3 = 3 diff --git a/Src/CanSerialPortFrame.c b/Src/CanSerialPortFrame.c index 00424ce..6213672 100644 --- a/Src/CanSerialPortFrame.c +++ b/Src/CanSerialPortFrame.c @@ -65,7 +65,7 @@ vCanSerialPortFrameInitStructure(tCanSerialPortFrameFlagchip *env, uint16_t rxDa } -void vCanSerialPortFrameDMAInit( +bool vCanSerialPortFrameDMAInit( tCanSerialPortFrameFlagchip *env, FLEXCAN_Type *CANx, // FLEXCAN0 uint8 CAN_INDEX, // CAN0 = 0 ... CAN3 = 3 @@ -247,20 +247,24 @@ void vCanSerialPortFrameDMAInit( } + if (!env->reInit) { + env->reInit = true; + vCanSerialPortFrameInitStructure(env, 40, 0); + + CanSerialPortFrameSetType(env, canTypeFrame); + CanSerialPortFrameSetId(env, canId); + + env->canBaudRate = canBaudRate; + } + FLEXCAN_Start(CAN_INDEX); // Start CAN + + } else { + return false; } - if (!env->reInit) { - env->reInit = true; - vCanSerialPortFrameInitStructure(env, 40, 0); - - CanSerialPortFrameSetType(env, canTypeFrame); - CanSerialPortFrameSetId(env, canId); - - env->canBaudRate = canBaudRate; - } - + return true; //конец------------------------------------CAN---------------------------------------------------------------------- //конец------------------------------------CAN---------------------------------------------------------------------- //конец------------------------------------CAN----------------------------------------------------------------------