📄 kinetis_flexcan.h
字号:
#define FLEXCAN_RXGMASK_MI15 (0x00008000)
#define FLEXCAN_RXGMASK_MI16 (0x00010000)
#define FLEXCAN_RXGMASK_MI17 (0x00020000)
#define FLEXCAN_RXGMASK_MI18 (0x00040000)
#define FLEXCAN_RXGMASK_MI19 (0x00080000)
#define FLEXCAN_RXGMASK_MI20 (0x00100000)
#define FLEXCAN_RXGMASK_MI21 (0x00200000)
#define FLEXCAN_RXGMASK_MI22 (0x00400000)
#define FLEXCAN_RXGMASK_MI23 (0x00800000)
#define FLEXCAN_RXGMASK_MI24 (0x01000000)
#define FLEXCAN_RXGMASK_MI25 (0x02000000)
#define FLEXCAN_RXGMASK_MI26 (0x04000000)
#define FLEXCAN_RXGMASK_MI27 (0x08000000)
#define FLEXCAN_RXGMASK_MI28 (0x10000000)
#define FLEXCAN_RXGMASK_MI29 (0x20000000)
#define FLEXCAN_RXGMASK_MI30 (0x40000000)
#define FLEXCAN_RXGMASK_MI31 (0x80000000)
/* Bit definitions and macros for FLEXCAN_RX14MASK */
#define FLEXCAN_RX14MASK_MI0 (0x00000001)
#define FLEXCAN_RX14MASK_MI1 (0x00000002)
#define FLEXCAN_RX14MASK_MI2 (0x00000004)
#define FLEXCAN_RX14MASK_MI3 (0x00000008)
#define FLEXCAN_RX14MASK_MI4 (0x00000010)
#define FLEXCAN_RX14MASK_MI5 (0x00000020)
#define FLEXCAN_RX14MASK_MI6 (0x00000040)
#define FLEXCAN_RX14MASK_MI7 (0x00000080)
#define FLEXCAN_RX14MASK_MI8 (0x00000100)
#define FLEXCAN_RX14MASK_MI9 (0x00000200)
#define FLEXCAN_RX14MASK_MI10 (0x00000400)
#define FLEXCAN_RX14MASK_MI11 (0x00000800)
#define FLEXCAN_RX14MASK_MI12 (0x00001000)
#define FLEXCAN_RX14MASK_MI13 (0x00002000)
#define FLEXCAN_RX14MASK_MI14 (0x00004000)
#define FLEXCAN_RX14MASK_MI15 (0x00008000)
#define FLEXCAN_RX14MASK_MI16 (0x00010000)
#define FLEXCAN_RX14MASK_MI17 (0x00020000)
#define FLEXCAN_RX14MASK_MI18 (0x00040000)
#define FLEXCAN_RX14MASK_MI19 (0x00080000)
#define FLEXCAN_RX14MASK_MI20 (0x00100000)
#define FLEXCAN_RX14MASK_MI21 (0x00200000)
#define FLEXCAN_RX14MASK_MI22 (0x00400000)
#define FLEXCAN_RX14MASK_MI23 (0x00800000)
#define FLEXCAN_RX14MASK_MI24 (0x01000000)
#define FLEXCAN_RX14MASK_MI25 (0x02000000)
#define FLEXCAN_RX14MASK_MI26 (0x04000000)
#define FLEXCAN_RX14MASK_MI27 (0x08000000)
#define FLEXCAN_RX14MASK_MI28 (0x10000000)
#define FLEXCAN_RX14MASK_MI29 (0x20000000)
#define FLEXCAN_RX14MASK_MI30 (0x40000000)
#define FLEXCAN_RX14MASK_MI31 (0x80000000)
/* Bit definitions and macros for FLEXCAN_RX15MASK */
#define FLEXCAN_RX15MASK_MI0 (0x00000001)
#define FLEXCAN_RX15MASK_MI1 (0x00000002)
#define FLEXCAN_RX15MASK_MI2 (0x00000004)
#define FLEXCAN_RX15MASK_MI3 (0x00000008)
#define FLEXCAN_RX15MASK_MI4 (0x00000010)
#define FLEXCAN_RX15MASK_MI5 (0x00000020)
#define FLEXCAN_RX15MASK_MI6 (0x00000040)
#define FLEXCAN_RX15MASK_MI7 (0x00000080)
#define FLEXCAN_RX15MASK_MI8 (0x00000100)
#define FLEXCAN_RX15MASK_MI9 (0x00000200)
#define FLEXCAN_RX15MASK_MI10 (0x00000400)
#define FLEXCAN_RX15MASK_MI11 (0x00000800)
#define FLEXCAN_RX15MASK_MI12 (0x00001000)
#define FLEXCAN_RX15MASK_MI13 (0x00002000)
#define FLEXCAN_RX15MASK_MI14 (0x00004000)
#define FLEXCAN_RX15MASK_MI15 (0x00008000)
#define FLEXCAN_RX15MASK_MI16 (0x00010000)
#define FLEXCAN_RX15MASK_MI17 (0x00020000)
#define FLEXCAN_RX15MASK_MI18 (0x00040000)
#define FLEXCAN_RX15MASK_MI19 (0x00080000)
#define FLEXCAN_RX15MASK_MI20 (0x00100000)
#define FLEXCAN_RX15MASK_MI21 (0x00200000)
#define FLEXCAN_RX15MASK_MI22 (0x00400000)
#define FLEXCAN_RX15MASK_MI23 (0x00800000)
#define FLEXCAN_RX15MASK_MI24 (0x01000000)
#define FLEXCAN_RX15MASK_MI25 (0x02000000)
#define FLEXCAN_RX15MASK_MI26 (0x04000000)
#define FLEXCAN_RX15MASK_MI27 (0x08000000)
#define FLEXCAN_RX15MASK_MI28 (0x10000000)
#define FLEXCAN_RX15MASK_MI29 (0x20000000)
#define FLEXCAN_RX15MASK_MI30 (0x40000000)
#define FLEXCAN_RX15MASK_MI31 (0x80000000)
/* Bit definitions and macros for FLEXCAN_ECR */
#define FLEXCAN_ECR_TX_ERR_COUNTER(x) (((x)&0x000000FF)<<0)
#define FLEXCAN_ECR_RX_ERR_COUNTER(x) (((x)&0x000000FF)<<8)
/* Bit definitions and macros for FLEXCAN_ESR1 */
#define FLEXCAN_ESR_WAK_INT (0x00000001)
#define FLEXCAN_ESR_ERR_INT (0x00000002)
#define FLEXCAN_ESR_BOFF_INT (0x00000004)
#define FLEXCAN_ESR_RX (0x00000008)
#define FLEXCAN_ESR_FLT_CONF(x) (((x)&0x00000003)<<4)
#define FLEXCAN_ESR_FLT_CONF_MASK (0x00000030)
#define FLEXCAN_ESR_TX (0x00000040)
#define FLEXCAN_ESR_IDLE (0x00000080)
#define FLEXCAN_ESR_RX_WRN (0x00000100)
#define FLEXCAN_ESR_TX_WRN (0x00000200)
#define FLEXCAN_ESR_STF_ERR (0x00000400)
#define FLEXCAN_ESR_FRM_ERR (0x00000800)
#define FLEXCAN_ESR_CRC_ERR (0x00001000)
#define FLEXCAN_ESR_ACK_ERR (0x00002000)
#define FLEXCAN_ESR_BIT0_ERR (0x00004000)
#define FLEXCAN_ESR_BIT1_ERR (0x00008000)
#define FLEXCAN_ESR_RWRN_INT (0x00010000)
#define FLEXCAN_ESR_TWRN_INT (0x00020000)
#define FLEXCAN_ESR_get_fault_code(esr) (((esr) & FLEXCAN_ESR_FLT_CONF_MASK)>>4)
#define CAN_ERROR_ACTIVE 0
#define CAN_ERROR_PASSIVE 1
#define CAN_ERROR_BUS_OFF 2
/* Bit definition for FLEXCAN_ESR2 */
#define FLEXCAN_ESR2_IMB (0x00002000)
#define FLEXCAN_ESR2_VPS (0x00004000)
#define FLEXCAN_ESR2_LTM (0x007F0000L)
#define FLEXCAN_ESR2_LTM_BIT_NO (16)
#define FLEXCAN_ESR2_LOSTRLF (0x00000004)
#define FLEXCAN_ESR2_LOSTRMF (0x00000002)
#define FLEXCAN_ESR2_IMEUF (0x00000001)
#define FLEXCAN_get_LTM(esr2_value) (((esr2_value) & (FLEXCAN_ESR2_LTM))>>(FLEXCAN_ESR2_LTM_BIT_NO))
/* Bit definitions and macros for FLEXCAN_IMASK1 */
#define FLEXCAN_IMASK1_BUF0M (0x00000001)
#define FLEXCAN_IMASK1_BUF1M (0x00000002)
#define FLEXCAN_IMASK1_BUF2M (0x00000004)
#define FLEXCAN_IMASK1_BUF3M (0x00000008)
#define FLEXCAN_IMASK1_BUF4M (0x00000010)
#define FLEXCAN_IMASK1_BUF5M (0x00000020)
#define FLEXCAN_IMASK1_BUF6M (0x00000040)
#define FLEXCAN_IMASK1_BUF7M (0x00000080)
#define FLEXCAN_IMASK1_BUF8M (0x00000100)
#define FLEXCAN_IMASK1_BUF9M (0x00000200)
#define FLEXCAN_IMASK1_BUF10M (0x00000400)
#define FLEXCAN_IMASK1_BUF11M (0x00000800)
#define FLEXCAN_IMASK1_BUF12M (0x00001000)
#define FLEXCAN_IMASK1_BUF13M (0x00002000)
#define FLEXCAN_IMASK1_BUF14M (0x00004000)
#define FLEXCAN_IMASK1_BUF15M (0x00008000)
#define FLEXCAN_IMASK1_BUF16M (0x00010000)
#define FLEXCAN_IMASK1_BUF17M (0x00020000)
#define FLEXCAN_IMASK1_BUF18M (0x00040000)
#define FLEXCAN_IMASK1_BUF19M (0x00080000)
#define FLEXCAN_IMASK1_BUF20M (0x00100000)
#define FLEXCAN_IMASK1_BUF21M (0x00200000)
#define FLEXCAN_IMASK1_BUF22M (0x00400000)
#define FLEXCAN_IMASK1_BUF23M (0x00800000)
#define FLEXCAN_IMASK1_BUF24M (0x01000000)
#define FLEXCAN_IMASK1_BUF25M (0x02000000)
#define FLEXCAN_IMASK1_BUF26M (0x04000000)
#define FLEXCAN_IMASK1_BUF27M (0x08000000)
#define FLEXCAN_IMASK1_BUF28M (0x10000000)
#define FLEXCAN_IMASK1_BUF29M (0x20000000)
#define FLEXCAN_IMASK1_BUF30M (0x40000000)
#define FLEXCAN_IMASK1_BUF31M (0x80000000)
/* Bit definitions and macros for FLEXCAN_IFLAG1 */
#define FLEXCAN_IFLAG1_BUF0I (0x00000001)
#define FLEXCAN_IFLAG1_BUF1I (0x00000002)
#define FLEXCAN_IFLAG1_BUF2I (0x00000004)
#define FLEXCAN_IFLAG1_BUF3I (0x00000008)
#define FLEXCAN_IFLAG1_BUF4I (0x00000010)
#define FLEXCAN_IFLAG1_BUF5I (0x00000020)
#define FLEXCAN_IFLAG1_BUF6I (0x00000040)
#define FLEXCAN_IFLAG1_BUF7I (0x00000080)
#define FLEXCAN_IFLAG1_BUF8I (0x00000100)
#define FLEXCAN_IFLAG1_BUF9I (0x00000200)
#define FLEXCAN_IFLAG1_BUF10I (0x00000400)
#define FLEXCAN_IFLAG1_BUF11I (0x00000800)
#define FLEXCAN_IFLAG1_BUF12I (0x00001000)
#define FLEXCAN_IFLAG1_BUF13I (0x00002000)
#define FLEXCAN_IFLAG1_BUF14I (0x00004000)
#define FLEXCAN_IFLAG1_BUF15I (0x00008000)
#define FLEXCAN_IFLAG1_BUF16I (0x00010000)
#define FLEXCAN_IFLAG1_BUF17I (0x00020000)
#define FLEXCAN_IFLAG1_BUF18I (0x00040000)
#define FLEXCAN_IFLAG1_BUF19I (0x00080000)
#define FLEXCAN_IFLAG1_BUF20I (0x00100000)
#define FLEXCAN_IFLAG1_BUF21I (0x00200000)
#define FLEXCAN_IFLAG1_BUF22I (0x00400000)
#define FLEXCAN_IFLAG1_BUF23I (0x00800000)
#define FLEXCAN_IFLAG1_BUF24I (0x01000000)
#define FLEXCAN_IFLAG1_BUF25I (0x02000000)
#define FLEXCAN_IFLAG1_BUF26I (0x04000000)
#define FLEXCAN_IFLAG1_BUF27I (0x08000000)
#define FLEXCAN_IFLAG1_BUF28I (0x10000000)
#define FLEXCAN_IFLAG1_BUF29I (0x20000000)
#define FLEXCAN_IFLAG1_BUF30I (0x40000000)
#define FLEXCAN_IFLAG1_BUF31I (0x80000000)
/* Bit definitions and macros for FLEXCAN_MB_CS */
#define FLEXCAN_MB_CS_TIMESTAMP(x) (((x)&0x0000FFFF)<<0)
#define FLEXCAN_MB_CS_TIMESTAMP_MASK (0x0000FFFFL)
#define FLEXCAN_MB_CS_LENGTH(x) (((x)&0x0000000F)<<16)
#define FLEXCAN_MB_CS_RTR (0x00100000)
#define FLEXCAN_MB_CS_IDE (0x00200000)
#define FLEXCAN_MB_CS_SRR (0x00400000)
#define FLEXCAN_MB_CS_CODE(x) (((x)&0x0000000F)<<24)
#define FLEXCAN_MB_CS_CODE_MASK (0x0F000000L)
#define FLEXCAN_MB_CS_DLC_MASK (0x000F0000L)
#define FLEXCAN_MB_CODE_RX_INACTIVE (0)
#define FLEXCAN_MB_CODE_RX_EMPTY (4)
#define FLEXCAN_MB_CODE_RX_FULL (2)
#define FLEXCAN_MB_CODE_RX_OVERRUN (6)
#define FLEXCAN_MB_CODE_RX_BUSY (1)
#define FLEXCAN_MB_CS_IDE_BIT_NO (21)
#define FLEXCAN_MB_CS_RTR_BIT_NO (20)
#define FLEXCAN_MB_CS_DLC_BIT_NO (16)
#define FLEXCAN_MB_CODE_TX_INACTIVE (8)
#define FLEXCAN_MB_CODE_TX_ABORT (9)
#define FLEXCAN_MB_CODE_TX_ONCE (0x0C)
#define FLEXCAN_MB_CODE_TX_RESPONSE (0x0A)
#define FLEXCAN_MB_CODE_TX_RESPONSE_TEMPO (0x0E)
#define FLEXCAN_get_code(cs) (((cs) & FLEXCAN_MB_CS_CODE_MASK)>>24)
#define FLEXCAN_get_length(cs) (((cs) & FLEXCAN_MB_CS_DLC_MASK)>>16)
/* Bit definitions and macros for FLEXCAN_MB_ID */
#define FLEXCAN_MB_ID_STD_MASK (0x1FFC0000L)
#define FLEXCAN_MB_ID_EXT_MASK (0x1FFFFFFFL)
#define FLEXCAN_MB_ID_IDEXT(x) (((x)&0x0003FFFF)<<0)
#define FLEXCAN_MB_ID_IDSTD(x) (((x)&0x000007FF)<<18)
#define FLEXCAN_MB_ID_PRIO(x) (((x)&0x00000007)<<29)
#define FLEXCAN_MB_ID_PRIO_BIT_NO (29)
#define FLEXCAN_MB_ID_STD_BIT_NO (18)
#define FLEXCAN_MB_ID_EXT_BIT_NO (0)
/* Bit definitions and macros for FLEXCAN_MB_WORD0 */
#define FLEXCAN_MB_WORD0_DATA3(x) (((x)&0x000000FF)<<0)
#define FLEXCAN_MB_WORD0_DATA2(x) (((x)&0x000000FF)<<8)
#define FLEXCAN_MB_WORD0_DATA1(x) (((x)&0x000000FF)<<16)
#define FLEXCAN_MB_WORD0_DATA0(x) (((x)&0x000000FF)<<24)
/* Bit definitions and macros for FLEXCAN_MB_WORD1 */
#define FLEXCAN_MB_WORD1_DATA7(x) (((x)&0x000000FF)<<0)
#define FLEXCAN_MB_WORD1_DATA6(x) (((x)&0x000000FF)<<8)
#define FLEXCAN_MB_WORD1_DATA5(x) (((x)&0x000000FF)<<16)
#define FLEXCAN_MB_WORD1_DATA4(x) (((x)&0x000000FF)<<24)
/* Bit definitions and macros for FLEXCAN_RXIMR0 */
#define FLEXCAN_RXIMR0_MI0 (0x00000001)
#define FLEXCAN_RXIMR0_MI1 (0x00000002)
#define FLEXCAN_RXIMR0_MI2 (0x00000004)
#define FLEXCAN_RXIMR0_MI3 (0x00000008)
#define FLEXCAN_RXIMR0_MI4 (0x00000010)
#define FLEXCAN_RXIMR0_MI5 (0x00000020)
#define FLEXCAN_RXIMR0_MI6 (0x00000040)
#define FLEXCAN_RXIMR0_MI7 (0x00000080)
#define FLEXCAN_RXIMR0_MI8 (0x00000100)
#define FLEXCAN_RXIMR0_MI9 (0x00000200)
#define FLEXCAN_RXIMR0_MI10 (0x00000400)
#define FLEXCAN_RXIMR0_MI11 (0x00000800)
#define FLEXCAN_RXIMR0_MI12 (0x00001000)
#define FLEXCAN_RXIMR0_MI13 (0x00002000)
#define FLEXCAN_RXIMR0_MI14 (0x00004000)
#define FLEXCAN_RXIMR0_MI15 (0x00008000)
#define FLEXCAN_RXIMR0_MI16 (0x00010000)
#define FLEXCAN_RXIMR0_MI17 (0x00020000)
#define FLEXCAN_RXIMR0_MI18 (0x00040000)
#define FLEXCAN_RXIMR0_MI19 (0x00080000)
#define FLEXCAN_RXIMR0_MI20 (0x00100000)
#define FLEXCAN_RXIMR0_MI21 (0x00200000)
#define FLEXCAN_RXIMR0_MI22 (0x00400000)
#define FLEXCAN_RXIMR0_MI23 (0x00800000)
#define FLEXCAN_RXIMR0_MI24 (0x01000000)
#define FLEXCAN_RXIMR0_MI25 (0x02000000)
#define FLEXCAN_RXIMR0_MI26 (0x04000000)
#define FLEXCAN_RXIMR0_MI27 (0x08000000)
#define FLEXCAN_RXIMR0_MI28 (0x10000000)
#define FLEXCAN_RXIMR0_MI29 (0x20000000)
#define FLEXCAN_RXIMR0_MI30 (0x40000000)
#define FLEXCAN_RXIMR0_MI31 (0x80000000)
/* Bit definitions and macros for FLEXCAN_RXIMR1 */
#define FLEXCAN_RXIMR1_MI0 (0x00000001)
#define FLEXCAN_RXIMR1_MI1 (0x00000002)
#define FLEXCAN_RXIMR1_MI2 (0x00000004)
#define FLEXCAN_RXIMR1_MI3 (0x00000008)
#define FLEXCAN_RXIMR1_MI4 (0x00000010)
#define FLEXCAN_RXIMR1_MI5 (0x00000020)
#define FLEXCAN_RXIMR1_MI6 (0x00000040)
#define FLEXCAN_RXIMR1_MI7 (0x00000080)
#define FLEXCAN_RXIMR1_MI8 (0x00000100)
#define FLEXCAN_RXIMR1_MI9 (0x00000200)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -