diff options
Diffstat (limited to 'drivers/fsl_flexcan.c')
-rw-r--r-- | drivers/fsl_flexcan.c | 13 |
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. */ |