summaryrefslogtreecommitdiff
path: root/drivers/fsl_flexcan.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/fsl_flexcan.c')
-rw-r--r--drivers/fsl_flexcan.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/drivers/fsl_flexcan.c b/drivers/fsl_flexcan.c
index f58f3f5..8fd3399 100644
--- a/drivers/fsl_flexcan.c
+++ b/drivers/fsl_flexcan.c
@@ -392,7 +392,7 @@ static void FLEXCAN_Reset(CAN_Type *base)
}
}
-static void FLEXCAN_SetBaudRate(CAN_Type *base, uint32_t sourceClock_Hz, uint32_t baudRate_Bps)
+void FLEXCAN_SetBaudRate(CAN_Type *base, uint32_t sourceClock_Hz, uint32_t baudRate_Bps)
{
flexcan_timing_config_t timingConfig;
uint32_t priDiv = baudRate_Bps * FLEXCAN_TIME_QUANTA_NUM;
@@ -555,6 +555,17 @@ void FLEXCAN_SetTimingConfig(CAN_Type *base, const flexcan_timing_config_t *conf
FLEXCAN_ExitFreezeMode(base);
}
+void FLEXCAN_SetBitRate(CAN_Type *base, uint32_t sourceClock_Hz, uint32_t baudRate_Bps)
+{
+ /* Enter Freeze Mode. */
+ FLEXCAN_EnterFreezeMode(base);
+
+ FLEXCAN_SetBaudRate(base, sourceClock_Hz, baudRate_Bps);
+
+ /* Exit Freeze Mode. */
+ FLEXCAN_ExitFreezeMode(base);
+}
+
void FLEXCAN_SetRxMbGlobalMask(CAN_Type *base, uint32_t mask)
{
/* Enter Freeze Mode. */