30 #ifndef _FSL_FLEXCAN_H_ 31 #define _FSL_FLEXCAN_H_ 33 #include "fsl_common.h" 46 #define FLEXCAN_DRIVER_VERSION (MAKE_VERSION(2, 0, 0)) 49 #define FLEXCAN_ID_STD(id) \ 50 (((uint32_t)(((uint32_t)(id)) << CAN_ID_STD_SHIFT)) & CAN_ID_STD_MASK) 51 #define FLEXCAN_ID_EXT(id) \ 52 (((uint32_t)(((uint32_t)(id)) << CAN_ID_EXT_SHIFT)) & \ 53 (CAN_ID_EXT_MASK | CAN_ID_STD_MASK)) 56 #define FLEXCAN_RX_MB_STD_MASK(id, rtr, ide) \ 57 (((uint32_t)((uint32_t)(rtr) << 31) | (uint32_t)((uint32_t)(ide) << 30)) | \ 59 #define FLEXCAN_RX_MB_EXT_MASK(id, rtr, ide) \ 60 (((uint32_t)((uint32_t)(rtr) << 31) | (uint32_t)((uint32_t)(ide) << 30)) | \ 64 #define FLEXCAN_RX_FIFO_STD_MASK_TYPE_A(id, rtr, ide) \ 65 (((uint32_t)((uint32_t)(rtr) << 31) | (uint32_t)((uint32_t)(ide) << 30)) | \ 66 (FLEXCAN_ID_STD(id) << 1)) 67 #define FLEXCAN_RX_FIFO_STD_MASK_TYPE_B_HIGH(id, rtr, ide) \ 68 (((uint32_t)((uint32_t)(rtr) << 31) | (uint32_t)((uint32_t)(ide) << 30)) | \ 69 (FLEXCAN_ID_STD(id) << 16)) 70 #define FLEXCAN_RX_FIFO_STD_MASK_TYPE_B_LOW(id, rtr, ide) \ 71 (((uint32_t)((uint32_t)(rtr) << 15) | (uint32_t)((uint32_t)(ide) << 14)) | \ 73 #define FLEXCAN_RX_FIFO_STD_MASK_TYPE_C_HIGH(id) \ 74 ((FLEXCAN_ID_STD(id) & 0x7F8) << 21) 75 #define FLEXCAN_RX_FIFO_STD_MASK_TYPE_C_MID_HIGH(id) \ 76 ((FLEXCAN_ID_STD(id) & 0x7F8) << 13) 78 #define FLEXCAN_RX_FIFO_STD_MASK_TYPE_C_MID_LOW(id) \ 79 ((FLEXCAN_ID_STD(id) & 0x7F8) << 5) 80 #define FLEXCAN_RX_FIFO_STD_MASK_TYPE_C_LOW(id) \ 81 ((FLEXCAN_ID_STD(id) & 0x7F8) >> 3) 82 #define FLEXCAN_RX_FIFO_EXT_MASK_TYPE_A(id, rtr, ide) \ 83 (((uint32_t)((uint32_t)(rtr) << 31) | (uint32_t)((uint32_t)(ide) << 30)) | \ 84 (FLEXCAN_ID_EXT(id) << 1)) 85 #define FLEXCAN_RX_FIFO_EXT_MASK_TYPE_B_HIGH(id, rtr, ide) \ 87 ((uint32_t)((uint32_t)(rtr) << 31) | (uint32_t)((uint32_t)(ide) << 30)) | \ 88 ((FLEXCAN_ID_EXT(id) & 0x1FFF8000) \ 90 #define FLEXCAN_RX_FIFO_EXT_MASK_TYPE_B_LOW(id, rtr, ide) \ 91 (((uint32_t)((uint32_t)(rtr) << 15) | (uint32_t)((uint32_t)(ide) << 14)) | \ 92 ((FLEXCAN_ID_EXT(id) & 0x1FFF8000) >> \ 94 #define FLEXCAN_RX_FIFO_EXT_MASK_TYPE_C_HIGH(id) \ 95 ((FLEXCAN_ID_EXT(id) & 0x1FE00000) << 3) 96 #define FLEXCAN_RX_FIFO_EXT_MASK_TYPE_C_MID_HIGH(id) \ 97 ((FLEXCAN_ID_EXT(id) & 0x1FE00000) >> \ 99 #define FLEXCAN_RX_FIFO_EXT_MASK_TYPE_C_MID_LOW(id) \ 100 ((FLEXCAN_ID_EXT(id) & 0x1FE00000) >> \ 102 #define FLEXCAN_RX_FIFO_EXT_MASK_TYPE_C_LOW(id) \ 103 ((FLEXCAN_ID_EXT(id) & 0x1FE00000) >> 21) 106 #define FLEXCAN_RX_FIFO_STD_FILTER_TYPE_A(id, rtr, ide) \ 107 FLEXCAN_RX_FIFO_STD_MASK_TYPE_A(id, rtr, ide) 108 #define FLEXCAN_RX_FIFO_STD_FILTER_TYPE_B_HIGH(id, rtr, ide) \ 109 FLEXCAN_RX_FIFO_STD_MASK_TYPE_B_HIGH( \ 111 #define FLEXCAN_RX_FIFO_STD_FILTER_TYPE_B_LOW(id, rtr, ide) \ 112 FLEXCAN_RX_FIFO_STD_MASK_TYPE_B_LOW( \ 114 #define FLEXCAN_RX_FIFO_STD_FILTER_TYPE_C_HIGH(id) \ 115 FLEXCAN_RX_FIFO_STD_MASK_TYPE_C_HIGH( \ 117 #define FLEXCAN_RX_FIFO_STD_FILTER_TYPE_C_MID_HIGH(id) \ 118 FLEXCAN_RX_FIFO_STD_MASK_TYPE_C_MID_HIGH( \ 120 #define FLEXCAN_RX_FIFO_STD_FILTER_TYPE_C_MID_LOW(id) \ 121 FLEXCAN_RX_FIFO_STD_MASK_TYPE_C_MID_LOW( \ 123 #define FLEXCAN_RX_FIFO_STD_FILTER_TYPE_C_LOW(id) \ 124 FLEXCAN_RX_FIFO_STD_MASK_TYPE_C_LOW(id) 126 #define FLEXCAN_RX_FIFO_EXT_FILTER_TYPE_A(id, rtr, ide) \ 127 FLEXCAN_RX_FIFO_EXT_MASK_TYPE_A(id, rtr, ide) 128 #define FLEXCAN_RX_FIFO_EXT_FILTER_TYPE_B_HIGH(id, rtr, ide) \ 129 FLEXCAN_RX_FIFO_EXT_MASK_TYPE_B_HIGH( \ 131 #define FLEXCAN_RX_FIFO_EXT_FILTER_TYPE_B_LOW(id, rtr, ide) \ 132 FLEXCAN_RX_FIFO_EXT_MASK_TYPE_B_LOW( \ 134 #define FLEXCAN_RX_FIFO_EXT_FILTER_TYPE_C_HIGH(id) \ 135 FLEXCAN_RX_FIFO_EXT_MASK_TYPE_C_HIGH(id) 137 #define FLEXCAN_RX_FIFO_EXT_FILTER_TYPE_C_MID_HIGH(id) \ 138 FLEXCAN_RX_FIFO_EXT_MASK_TYPE_C_MID_HIGH( \ 140 #define FLEXCAN_RX_FIFO_EXT_FILTER_TYPE_C_MID_LOW(id) \ 141 FLEXCAN_RX_FIFO_EXT_MASK_TYPE_C_MID_LOW( \ 143 #define FLEXCAN_RX_FIFO_EXT_FILTER_TYPE_C_LOW(id) \ 144 FLEXCAN_RX_FIFO_EXT_MASK_TYPE_C_LOW(id) 165 typedef enum _flexcan_frame_format
172 typedef enum _flexcan_frame_type
179 typedef enum _flexcan_clock_source
186 typedef enum _flexcan_rx_fifo_filter_type
203 typedef enum _flexcan_rx_fifo_priority
247 CAN_ESR1_BIT0ERR_MASK |
248 CAN_ESR1_ACKERR_MASK | CAN_ESR1_CRCERR_MASK | CAN_ESR1_FRMERR_MASK | CAN_ESR1_STFERR_MASK,
283 #if defined(__CC_ARM) 287 typedef struct _flexcan_frame
291 uint32_t timestamp : 16;
295 uint32_t reserve1 : 1;
301 uint32_t reserve2 : 3;
325 typedef struct _flexcan_config
333 #if (defined(FSL_FEATURE_FLEXCAN_HAS_DOZE_MODE_SUPPORT) && FSL_FEATURE_FLEXCAN_HAS_DOZE_MODE_SUPPORT) 339 typedef struct _flexcan_timing_config
357 typedef struct _flexcan_rx_mb_config
366 typedef struct _flexcan_rx_fifo_config
375 typedef struct _flexcan_mb_transfer
382 typedef struct _flexcan_fifo_transfer
401 CAN_Type *base, flexcan_handle_t *handle,
status_t status, uint32_t result,
void *
userData);
411 volatile uint8_t mbState[CAN_WORD1_COUNT];
419 #if defined(__cplusplus) 633 *txErrBuf = (uint8_t)((base->ECR & CAN_ECR_TXERRCNT_MASK) >> CAN_ECR_TXERRCNT_SHIFT);
638 *rxErrBuf = (uint8_t)((base->ECR & CAN_ECR_RXERRCNT_MASK) >> CAN_ECR_RXERRCNT_SHIFT);
651 #if (defined(FSL_FEATURE_FLEXCAN_HAS_EXTENDED_FLAG_REGISTER)) && (FSL_FEATURE_FLEXCAN_HAS_EXTENDED_FLAG_REGISTER > 0) 657 #if (defined(FSL_FEATURE_FLEXCAN_HAS_EXTENDED_FLAG_REGISTER)) && (FSL_FEATURE_FLEXCAN_HAS_EXTENDED_FLAG_REGISTER > 0) 658 return ((((uint64_t)base->IFLAG1) & mask) | ((((uint64_t)base->IFLAG2) << 32) & mask));
660 return (base->IFLAG1 & mask);
672 #if (defined(FSL_FEATURE_FLEXCAN_HAS_EXTENDED_FLAG_REGISTER)) && (FSL_FEATURE_FLEXCAN_HAS_EXTENDED_FLAG_REGISTER > 0) 678 #if (defined(FSL_FEATURE_FLEXCAN_HAS_EXTENDED_FLAG_REGISTER)) && (FSL_FEATURE_FLEXCAN_HAS_EXTENDED_FLAG_REGISTER > 0) 679 base->IFLAG1 = (uint32_t)(mask & 0xFFFFFFFF);
680 base->IFLAG2 = (uint32_t)(mask >> 32);
707 base->MCR |= CAN_MCR_WAKMSK_MASK;
711 base->CTRL1 |= (mask & (~((uint32_t)kFLEXCAN_WakeUpInterruptEnable)));
728 base->MCR &= ~CAN_MCR_WAKMSK_MASK;
732 base->CTRL1 &= ~(mask & (~((uint32_t)kFLEXCAN_WakeUpInterruptEnable)));
743 #if (defined(FSL_FEATURE_FLEXCAN_HAS_EXTENDED_FLAG_REGISTER)) && (FSL_FEATURE_FLEXCAN_HAS_EXTENDED_FLAG_REGISTER > 0) 749 #if (defined(FSL_FEATURE_FLEXCAN_HAS_EXTENDED_FLAG_REGISTER)) && (FSL_FEATURE_FLEXCAN_HAS_EXTENDED_FLAG_REGISTER > 0) 750 base->IMASK1 |= (uint32_t)(mask & 0xFFFFFFFF);
751 base->IMASK2 |= (uint32_t)(mask >> 32);
753 base->IMASK1 |= mask;
765 #if (defined(FSL_FEATURE_FLEXCAN_HAS_EXTENDED_FLAG_REGISTER)) && (FSL_FEATURE_FLEXCAN_HAS_EXTENDED_FLAG_REGISTER > 0) 771 #if (defined(FSL_FEATURE_FLEXCAN_HAS_EXTENDED_FLAG_REGISTER)) && (FSL_FEATURE_FLEXCAN_HAS_EXTENDED_FLAG_REGISTER > 0) 772 base->IMASK1 &= ~((uint32_t)(mask & 0xFFFFFFFF));
773 base->IMASK2 &= ~((uint32_t)(mask >> 32));
775 base->IMASK1 &= ~mask;
781 #if (defined(FSL_FEATURE_FLEXCAN_HAS_RX_FIFO_DMA) && FSL_FEATURE_FLEXCAN_HAS_RX_FIFO_DMA) 807 return (uint32_t) & (base->MB[0].CS);
830 base->MCR &= ~CAN_MCR_MDIS_MASK;
833 while (base->MCR & CAN_MCR_LPMACK_MASK)
839 base->MCR |= CAN_MCR_MDIS_MASK;
842 while (!(base->MCR & CAN_MCR_LPMACK_MASK))
951 flexcan_handle_t *handle,
997 flexcan_handle_t *handle,
1044 #if defined(__cplusplus) flexcan_rx_fifo_filter_type_t
FlexCAN Rx Fifo Filter type.
Definition: fsl_flexcan.h:186
FlexCAN Rx FIFO transfer.
Definition: fsl_flexcan.h:382
void FLEXCAN_TransferAbortReceiveFifo(CAN_Type *base, flexcan_handle_t *handle)
Abort interrupt driven message receive from Rx FIFO process.
Definition: fsl_flexcan.c:1115
Definition: fsl_flexcan.h:237
flexcan_rx_fifo_priority_t
FlexCAN Rx FIFO priority.
Definition: fsl_flexcan.h:203
Definition: fsl_flexcan.h:242
flexcan_frame_t *volatile rxFifoFrameBuf
Definition: fsl_flexcan.h:410
Definition: fsl_flexcan.h:161
Definition: fsl_flexcan.h:150
static void FLEXCAN_DisableMbInterrupts(CAN_Type *base, uint64_t mask) static inline void FLEXCAN_DisableMbInterrupts(CAN_Type *base
Disable FlexCAN Message Buffer interrupts.
Definition: fsl_flexcan.h:156
flexcan_frame_format_t format
Definition: fsl_flexcan.h:361
uint32_t baudRate
Definition: fsl_flexcan.h:327
Definition: fsl_flexcan.h:160
bool enableSelfWakeup
Definition: fsl_flexcan.h:331
_flexcan_interrupt_enable
FlexCAN interrupt configuration structure, default settings all disabled.
Definition: fsl_flexcan.h:215
Definition: fsl_flexcan.h:220
void(* flexcan_transfer_callback_t)(CAN_Type *base, flexcan_handle_t *handle, status_t status, uint32_t result, void *userData)
FlexCAN transfer callback function.
Definition: fsl_flexcan.h:400
Definition: fsl_flexcan.h:188
FlexCAN Message Buffer transfer.
Definition: fsl_flexcan.h:375
Definition: fsl_flexcan.h:244
Definition: fsl_flexcan.h:240
uint32_t id
Definition: fsl_flexcan.h:359
uint8_t phaseSeg1
Definition: fsl_flexcan.h:343
FlexCAN handle structure.
Definition: fsl_flexcan.h:404
Definition: fsl_flexcan.h:153
status_t FLEXCAN_TransferReceiveFifoNonBlocking(CAN_Type *base, flexcan_handle_t *handle, flexcan_fifo_transfer_t *xfer)
Receive message from Rx FIFO using IRQ.
Definition: fsl_flexcan.c:1047
Definition: fsl_flexcan.h:243
void FLEXCAN_TransferAbortSend(CAN_Type *base, flexcan_handle_t *handle, uint8_t mbIdx)
Abort interrupt driven message send process.
Definition: fsl_flexcan.c:1073
Definition: fsl_flexcan.h:175
flexcan_transfer_callback_t callback
Definition: fsl_flexcan.h:406
Definition: fsl_flexcan.h:261
uint8_t propSeg
Definition: fsl_flexcan.h:345
Definition: fsl_flexcan.h:264
Definition: fsl_flexcan.h:157
_flexcan_error_flags
FlexCAN error status flags.
Definition: fsl_flexcan.h:258
Definition: fsl_flexcan.h:154
Definition: fsl_flexcan.h:239
Definition: fsl_flexcan.h:191
uint8_t idFilterNum
Definition: fsl_flexcan.h:369
Definition: fsl_flexcan.h:262
Definition: fsl_flexcan.h:260
status_t FlEXCAN_ReadRxFifo(CAN_Type *base, flexcan_frame_t *rxFrame)
Read a FlexCAN Message from Rx FIFO.
Definition: fsl_flexcan.c:824
uint8_t preDivider
Definition: fsl_flexcan.h:341
void FLEXCAN_TransferCreateHandle(CAN_Type *base, flexcan_handle_t *handle, flexcan_transfer_callback_t callback, void *userData)
Initialize the FlexCAN handle.
Definition: fsl_flexcan.c:921
uint8_t mbIdx
Definition: fsl_flexcan.h:378
volatile uint8_t rxFifoState
Definition: fsl_flexcan.h:412
static void FLEXCAN_ClearMbStatusFlags(CAN_Type *base, uint64_t mask) static inline void FLEXCAN_ClearMbStatusFlags(CAN_Type *base
Clear FlexCAN Message Buffer interrupt flags.
status_t FlEXCAN_TransferReceiveBlocking(CAN_Type *base, uint8_t mbIdx, flexcan_frame_t *rxFrame)
Performs a polling receive transaction on the CAN bus.
Definition: fsl_flexcan.c:889
static uint64_t FLEXCAN_GetMbStatusFlags(CAN_Type *base, uint64_t mask) static inline uint32_t FLEXCAN_GetMbStatusFlags(CAN_Type *base
Get FlexCAN Message Buffer interrupt flags.
void FlEXCAN_SetRxMbGlobalMask(CAN_Type *base, uint32_t mask)
Set the FlexCAN Receive Message Buffer Global Mask.
Definition: fsl_flexcan.c:469
Definition: fsl_flexcan.h:218
uint32_t * idFilterTable
Definition: fsl_flexcan.h:368
status_t FLEXCAN_WriteTxMb(CAN_Type *base, uint8_t mbIdx, const flexcan_frame_t *txFrame)
Write FlexCAN Message to Transmit Message Buffer.
Definition: fsl_flexcan.c:712
Definition: fsl_flexcan.h:219
Definition: fsl_flexcan.h:221
Definition: fsl_common.h:100
void FLEXCAN_TransferHandleIRQ(CAN_Type *base, flexcan_handle_t *handle)
FlexCAN IRQ handle function.
Definition: fsl_flexcan.c:1134
Definition: fsl_flexcan.h:151
_flexcan_flags
FlexCAN status flags.
Definition: fsl_flexcan.h:232
static void FLEXCAN_EnableMbInterrupts(CAN_Type *base, uint64_t mask) static inline void FLEXCAN_EnableMbInterrupts(CAN_Type *base
Enable FlexCAN Message Buffer interrupts.
void FlEXCAN_SetRxIndividualMask(CAN_Type *base, uint8_t maskIdx, uint32_t mask)
Set the FlexCAN Receive Individual Mask.
Definition: fsl_flexcan.c:495
Definition: fsl_flexcan.h:241
Definition: fsl_flexcan.h:236
Definition: fsl_flexcan.h:167
Definition: fsl_flexcan.h:168
void FLEXCAN_SetRxMbConfig(CAN_Type *base, uint8_t mbIdx, const flexcan_rx_mb_config_t *config, bool enable)
Configure a FlexCAN Receive Message Buffer.
Definition: fsl_flexcan.c:535
Definition: fsl_flexcan.h:181
Definition: fsl_flexcan.h:217
FlexCAN protocol timing characteristic configuration structure.
Definition: fsl_flexcan.h:339
flexcan_rx_fifo_priority_t priority
Definition: fsl_flexcan.h:371
flexcan_clock_source_t
FlexCAN clock source.
Definition: fsl_flexcan.h:179
static void FLEXCAN_ClearStatusFlags(CAN_Type *base, uint32_t mask)
Clear status flags with provide mask.
Definition: fsl_flexcan.h:613
Definition: fsl_flexcan.h:235
static void FLEXCAN_EnableInterrupts(CAN_Type *base, uint32_t mask)
Enable FlexCAN interrupts according to provided mask.
Definition: fsl_flexcan.h:702
static uint32_t FLEXCAN_GetStatusFlags(CAN_Type *base)
Get FlexCAN module interrupt flags.
Definition: fsl_flexcan.h:599
static void FLEXCAN_DisableInterrupts(CAN_Type *base, uint32_t mask)
Disable FlexCAN interrupts according to provided mask.
Definition: fsl_flexcan.h:723
static uint32_t FLEXCAN_GetRxFifoHeadAddr(CAN_Type *base)
Get the Rx FIFO Head address.
Definition: fsl_flexcan.h:805
void FLEXCAN_SetTimingConfig(CAN_Type *base, const flexcan_timing_config_t *config)
Setting FlexCAN protocol timing characteristic.
Definition: fsl_flexcan.c:448
void FlEXCAN_SetRxFifoConfig(CAN_Type *base, const flexcan_rx_fifo_config_t *config, bool enable)
Configure the FlexCAN Rx FIFO.
Definition: fsl_flexcan.c:579
flexcan_frame_t * frame
Definition: fsl_flexcan.h:377
void FLEXCAN_TransferAbortReceive(CAN_Type *base, flexcan_handle_t *handle, uint8_t mbIdx)
Abort interrupt driven message receive process.
Definition: fsl_flexcan.c:1096
Definition: fsl_flexcan.h:245
Definition: fsl_flexcan.h:234
static void FlEXCAN_GetBusErrCount(CAN_Type *base, uint8_t *txErrBuf, uint8_t *rxErrBuf)
Get the FlexCAN Bus Error Counter value.
Definition: fsl_flexcan.h:629
Definition: fsl_flexcan.h:278
bool enableIndividMask
Definition: fsl_flexcan.h:332
status_t FlEXCAN_TransferSendBlocking(CAN_Type *base, uint8_t mbIdx, flexcan_frame_t *txFrame)
Performs a polling send transaction on the CAN bus.
Definition: fsl_flexcan.c:868
FlexCAN message frame structure.
Definition: fsl_flexcan.h:287
Definition: fsl_flexcan.h:149
FlexCAN Receive Message Buffer configuration structure.
Definition: fsl_flexcan.h:357
Definition: fsl_flexcan.h:279
Definition: fsl_flexcan.h:265
status_t FlEXCAN_TransferReceiveFifoBlocking(CAN_Type *base, flexcan_frame_t *rxFrame)
Performs a polling receive transaction from Rx FIFO on the CAN bus.
Definition: fsl_flexcan.c:903
void FLEXCAN_SetTxMbConfig(CAN_Type *base, uint8_t mbIdx, bool enable)
Configure a FlexCAN Transmit Message Buffer.
Definition: fsl_flexcan.c:509
Definition: fsl_flexcan.h:155
Definition: fsl_flexcan.h:189
FlexCAN module configuration structure.
Definition: fsl_flexcan.h:325
void FLEXCAN_EnableRxFifoDMA(CAN_Type *base, bool enable)
Enable or disable FlexCAN Rx FIFO DMA request.
Definition: fsl_flexcan.c:685
Definition: fsl_flexcan.h:174
flexcan_rx_fifo_filter_type_t idFilterType
Definition: fsl_flexcan.h:370
Definition: fsl_flexcan.h:159
Definition: fsl_flexcan.h:205
Definition: fsl_flexcan.h:193
void * userData
Definition: fsl_flexcan.h:407
uint8_t phaseSeg2
Definition: fsl_flexcan.h:344
Definition: fsl_flexcan.h:238
Definition: fsl_flexcan.h:263
Definition: fsl_flexcan.h:182
void FLEXCAN_Deinit(CAN_Type *base)
De-initializes a FlexCAN instance.
Definition: fsl_flexcan.c:419
static void FLEXCAN_Enable(CAN_Type *base, bool enable)
Enables or disable the FlexCAN module operation.
Definition: fsl_flexcan.h:826
void FlEXCAN_SetRxFifoGlobalMask(CAN_Type *base, uint32_t mask)
Set the FlexCAN Receive FIFO Global Mask.
Definition: fsl_flexcan.c:483
flexcan_frame_type_t type
Definition: fsl_flexcan.h:362
_flexcan_rx_fifo_flags
FlexCAN Rx FIFO status flags.
Definition: fsl_flexcan.h:276
flexcan_frame_type_t
FlexCAN frame type.
Definition: fsl_flexcan.h:172
flexcan_frame_format_t
FlexCAN frame format.
Definition: fsl_flexcan.h:165
bool enableDoze
Definition: fsl_flexcan.h:334
status_t FLEXCAN_ReadRxMb(CAN_Type *base, uint8_t mbIdx, flexcan_frame_t *rxFrame)
Read a FlexCAN Message from Receive Message Buffer.
Definition: fsl_flexcan.c:765
uint8_t rJumpwidth
Definition: fsl_flexcan.h:342
Definition: fsl_flexcan.h:280
status_t FLEXCAN_TransferReceiveNonBlocking(CAN_Type *base, flexcan_handle_t *handle, flexcan_mb_transfer_t *xfer)
Receive message using IRQ.
Definition: fsl_flexcan.c:1016
void FLEXCAN_GetDefaultConfig(flexcan_config_t *config)
Get the default configuration structure.
Definition: fsl_flexcan.c:431
int32_t status_t
Type used for all status and error return values.
Definition: fsl_common.h:121
bool enableLoopBack
Definition: fsl_flexcan.h:330
void FLEXCAN_Init(CAN_Type *base, const flexcan_config_t *config, uint32_t sourceClock_Hz)
Initializes a FlexCAN instance.
Definition: fsl_flexcan.c:366
Definition: fsl_flexcan.h:206
FlexCAN Rx FIFO configure structure.
Definition: fsl_flexcan.h:366
flexcan_clock_source_t clkSrc
Definition: fsl_flexcan.h:328
uint8_t maxMbNum
Definition: fsl_flexcan.h:329
Definition: fsl_flexcan.h:246
Definition: fsl_flexcan.h:158
status_t FLEXCAN_TransferSendNonBlocking(CAN_Type *base, flexcan_handle_t *handle, flexcan_mb_transfer_t *xfer)
send message using IRQ
Definition: fsl_flexcan.c:969