⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ecan.h

📁 Mplab C30编译器
💻 H
📖 第 1 页 / 共 3 页
字号:
#define CAN_FILTER4_RX_BUFFER9				0xFFF9
#define CAN_FILTER4_RX_BUFFER10				0xFFFA
#define CAN_FILTER4_RX_BUFFER11				0xFFFB
#define CAN_FILTER4_RX_BUFFER12				0xFFFC
#define CAN_FILTER4_RX_BUFFER13				0xFFFD
#define CAN_FILTER4_RX_BUFFER14				0xFFFE
#define CAN_FILTER4_RX_BUFFER_FIFO			0xFFFF

#define CAN_FILTER5_RX_BUFFER0				0xFF0F
#define CAN_FILTER5_RX_BUFFER1				0xFF1F
#define CAN_FILTER5_RX_BUFFER2				0xFF2F
#define CAN_FILTER5_RX_BUFFER3				0xFF3F
#define CAN_FILTER5_RX_BUFFER4				0xFF4F
#define CAN_FILTER5_RX_BUFFER5				0xFF5F
#define CAN_FILTER5_RX_BUFFER6				0xFF6F
#define CAN_FILTER5_RX_BUFFER7				0xFF7F
#define CAN_FILTER5_RX_BUFFER8				0xFF8F
#define CAN_FILTER5_RX_BUFFER9				0xFF9F
#define CAN_FILTER5_RX_BUFFER10				0xFFAF
#define CAN_FILTER5_RX_BUFFER11				0xFFBF
#define CAN_FILTER5_RX_BUFFER12				0xFFCF
#define CAN_FILTER5_RX_BUFFER13				0xFFDF
#define CAN_FILTER5_RX_BUFFER14				0xFFEF
#define CAN_FILTER5_RX_BUFFER_FIFO			0xFFFF

#define CAN_FILTER6_RX_BUFFER0				0xF0FF	
#define CAN_FILTER6_RX_BUFFER1				0xF1FF
#define CAN_FILTER6_RX_BUFFER2				0xF2FF
#define CAN_FILTER6_RX_BUFFER3				0xF3FF
#define CAN_FILTER6_RX_BUFFER4				0xF4FF
#define CAN_FILTER6_RX_BUFFER5				0xF5FF
#define CAN_FILTER6_RX_BUFFER6				0xF6FF
#define CAN_FILTER6_RX_BUFFER7				0xF7FF
#define CAN_FILTER6_RX_BUFFER8				0xF8FF
#define CAN_FILTER6_RX_BUFFER9				0xF9FF
#define CAN_FILTER6_RX_BUFFER10				0xFAFF
#define CAN_FILTER6_RX_BUFFER11				0xFBFF
#define CAN_FILTER6_RX_BUFFER12				0xFCFF
#define CAN_FILTER6_RX_BUFFER13				0xFDFF
#define CAN_FILTER6_RX_BUFFER14				0xFEFF
#define CAN_FILTER6_RX_BUFFER_FIFO			0xFFFF

#define CAN_FILTER7_RX_BUFFER0				0x0FFF
#define CAN_FILTER7_RX_BUFFER1				0x1FFF
#define CAN_FILTER7_RX_BUFFER2				0x2FFF
#define CAN_FILTER7_RX_BUFFER3				0x3FFF
#define CAN_FILTER7_RX_BUFFER4				0x4FFF
#define CAN_FILTER7_RX_BUFFER5				0x5FFF
#define CAN_FILTER7_RX_BUFFER6				0x6FFF
#define CAN_FILTER7_RX_BUFFER7				0x7FFF
#define CAN_FILTER7_RX_BUFFER8				0x8FFF
#define CAN_FILTER7_RX_BUFFER9				0x9FFF
#define CAN_FILTER7_RX_BUFFER10				0xAFFF
#define CAN_FILTER7_RX_BUFFER11				0xBFFF
#define CAN_FILTER7_RX_BUFFER12				0xCFFF
#define CAN_FILTER7_RX_BUFFER13				0xDFFF
#define CAN_FILTER7_RX_BUFFER14				0xEFFF
#define CAN_FILTER7_RX_BUFFER_FIFO			0xFFFF

/* ECAN Buffer Control Register (CiBUFPNT3) */

#define CAN_FILTER8_RX_BUFFER0				0xFFF0
#define CAN_FILTER8_RX_BUFFER1				0xFFF1
#define CAN_FILTER8_RX_BUFFER2				0xFFF2
#define CAN_FILTER8_RX_BUFFER3				0xFFF3
#define CAN_FILTER8_RX_BUFFER4				0xFFF4
#define CAN_FILTER8_RX_BUFFER5				0xFFF5
#define CAN_FILTER8_RX_BUFFER6				0xFFF6
#define CAN_FILTER8_RX_BUFFER7				0xFFF7
#define CAN_FILTER8_RX_BUFFER8				0xFFF8
#define CAN_FILTER8_RX_BUFFER9				0xFFF9
#define CAN_FILTER8_RX_BUFFER10				0xFFFA
#define CAN_FILTER8_RX_BUFFER11				0xFFFB
#define CAN_FILTER8_RX_BUFFER12				0xFFFC
#define CAN_FILTER8_RX_BUFFER13				0xFFFD
#define CAN_FILTER8_RX_BUFFER14				0xFFFE
#define CAN_FILTER8_RX_BUFFER_FIFO			0xFFFF

#define CAN_FILTER9_RX_BUFFER0				0xFF0F
#define CAN_FILTER9_RX_BUFFER1				0xFF1F
#define CAN_FILTER9_RX_BUFFER2				0xFF2F
#define CAN_FILTER9_RX_BUFFER3				0xFF3F
#define CAN_FILTER9_RX_BUFFER4				0xFF4F
#define CAN_FILTER9_RX_BUFFER5				0xFF5F
#define CAN_FILTER9_RX_BUFFER6				0xFF6F
#define CAN_FILTER9_RX_BUFFER7				0xFF7F
#define CAN_FILTER9_RX_BUFFER8				0xFF8F
#define CAN_FILTER9_RX_BUFFER9				0xFF9F
#define CAN_FILTER9_RX_BUFFER10				0xFFAF
#define CAN_FILTER9_RX_BUFFER11				0xFFBF
#define CAN_FILTER9_RX_BUFFER12				0xFFCF
#define CAN_FILTER9_RX_BUFFER13				0xFFDF
#define CAN_FILTER9_RX_BUFFER14				0xFFEF
#define CAN_FILTER9_RX_BUFFER_FIFO			0xFFFF

#define CAN_FILTER10_RX_BUFFER0				0xF0FF
#define CAN_FILTER10_RX_BUFFER1				0xF1FF
#define CAN_FILTER10_RX_BUFFER2				0xF2FF
#define CAN_FILTER10_RX_BUFFER3				0xF3FF
#define CAN_FILTER10_RX_BUFFER4				0xF4FF
#define CAN_FILTER10_RX_BUFFER5				0xF5FF
#define CAN_FILTER10_RX_BUFFER6				0xF6FF
#define CAN_FILTER10_RX_BUFFER7				0xF7FF
#define CAN_FILTER10_RX_BUFFER8				0xF8FF
#define CAN_FILTER10_RX_BUFFER9				0xF9FF
#define CAN_FILTER10_RX_BUFFER10			0xFAFF
#define CAN_FILTER10_RX_BUFFER11			0xFBFF
#define CAN_FILTER10_RX_BUFFER12			0xFCFF
#define CAN_FILTER10_RX_BUFFER13			0xFDFF
#define CAN_FILTER10_RX_BUFFER14			0xFEFF
#define CAN_FILTER10_RX_BUFFER_FIFO			0xFFFF

#define CAN_FILTER11_RX_BUFFER0				0x0FFF
#define CAN_FILTER11_RX_BUFFER1				0x1FFF
#define CAN_FILTER11_RX_BUFFER2				0x2FFF
#define CAN_FILTER11_RX_BUFFER3				0x3FFF
#define CAN_FILTER11_RX_BUFFER4				0x4FFF
#define CAN_FILTER11_RX_BUFFER5				0x5FFF
#define CAN_FILTER11_RX_BUFFER6				0x6FFF
#define CAN_FILTER11_RX_BUFFER7				0x7FFF
#define CAN_FILTER11_RX_BUFFER8				0x8FFF
#define CAN_FILTER11_RX_BUFFER9				0x9FFF
#define CAN_FILTER11_RX_BUFFER10			0xAFFF
#define CAN_FILTER11_RX_BUFFER11			0xBFFF
#define CAN_FILTER11_RX_BUFFER12			0xCFFF
#define CAN_FILTER11_RX_BUFFER13			0xDFFF
#define CAN_FILTER11_RX_BUFFER14			0xEFFF
#define CAN_FILTER11_RX_BUFFER_FIFO			0xFFFF

/* ECAN Buffer Control Register (CiBUFPNT4) */

#define CAN_FILTER12_RX_BUFFER0				0xFFF0
#define CAN_FILTER12_RX_BUFFER1				0xFFF1
#define CAN_FILTER12_RX_BUFFER2				0xFFF2
#define CAN_FILTER12_RX_BUFFER3				0xFFF3
#define CAN_FILTER12_RX_BUFFER4				0xFFF4
#define CAN_FILTER12_RX_BUFFER5				0xFFF5
#define CAN_FILTER12_RX_BUFFER6				0xFFF6
#define CAN_FILTER12_RX_BUFFER7				0xFFF7
#define CAN_FILTER12_RX_BUFFER8				0xFFF8
#define CAN_FILTER12_RX_BUFFER9				0xFFF9
#define CAN_FILTER12_RX_BUFFER10			0xFFFA
#define CAN_FILTER12_RX_BUFFER11			0xFFFB
#define CAN_FILTER12_RX_BUFFER12			0xFFFC
#define CAN_FILTER12_RX_BUFFER13			0xFFFD
#define CAN_FILTER12_RX_BUFFER14			0xFFFE
#define CAN_FILTER12_RX_BUFFER_FIFO			0xFFFF 

#define CAN_FILTER13_RX_BUFFER0				0xFF0F
#define CAN_FILTER13_RX_BUFFER1				0xFF1F
#define CAN_FILTER13_RX_BUFFER2				0xFF2F
#define CAN_FILTER13_RX_BUFFER3				0xFF3F
#define CAN_FILTER13_RX_BUFFER4				0xFF4F
#define CAN_FILTER13_RX_BUFFER5				0xFF5F
#define CAN_FILTER13_RX_BUFFER6				0xFF6F
#define CAN_FILTER13_RX_BUFFER7				0xFF7F
#define CAN_FILTER13_RX_BUFFER8				0xFF8F
#define CAN_FILTER13_RX_BUFFER9				0xFF9F
#define CAN_FILTER13_RX_BUFFER10			0xFFAF
#define CAN_FILTER13_RX_BUFFER11			0xFFBF
#define CAN_FILTER13_RX_BUFFER12			0xFFCF
#define CAN_FILTER13_RX_BUFFER13			0xFFDF
#define CAN_FILTER13_RX_BUFFER14			0xFFEF
#define CAN_FILTER13_RX_BUFFER_FIFO			0xFFFF

#define CAN_FILTER14_RX_BUFFER0				0xF0FF
#define CAN_FILTER14_RX_BUFFER1				0xF1FF
#define CAN_FILTER14_RX_BUFFER2				0xF2FF
#define CAN_FILTER14_RX_BUFFER3				0xF3FF
#define CAN_FILTER14_RX_BUFFER4				0xF4FF
#define CAN_FILTER14_RX_BUFFER5				0xF5FF
#define CAN_FILTER14_RX_BUFFER6				0xF6FF
#define CAN_FILTER14_RX_BUFFER7				0xF7FF
#define CAN_FILTER14_RX_BUFFER8				0xF8FF
#define CAN_FILTER14_RX_BUFFER9				0xF9FF
#define CAN_FILTER14_RX_BUFFER10			0xFAFF
#define CAN_FILTER14_RX_BUFFER11			0xFBFF
#define CAN_FILTER14_RX_BUFFER12			0xFCFF
#define CAN_FILTER14_RX_BUFFER13			0xFDFF
#define CAN_FILTER14_RX_BUFFER14			0xFEFF
#define CAN_FILTER14_RX_BUFFER_FIFO			0xFFFF

#define CAN_FILTER15_RX_BUFFER0				0x0FFF
#define CAN_FILTER15_RX_BUFFER1				0x1FFF
#define CAN_FILTER15_RX_BUFFER2				0x2FFF
#define CAN_FILTER15_RX_BUFFER3				0x3FFF
#define CAN_FILTER15_RX_BUFFER4				0x4FFF
#define CAN_FILTER15_RX_BUFFER5				0x5FFF
#define CAN_FILTER15_RX_BUFFER6				0x6FFF
#define CAN_FILTER15_RX_BUFFER7				0x7FFF
#define CAN_FILTER15_RX_BUFFER8				0x8FFF
#define CAN_FILTER15_RX_BUFFER9				0x9FFF
#define CAN_FILTER15_RX_BUFFER10			0xAFFF
#define CAN_FILTER15_RX_BUFFER11			0xBFFF
#define CAN_FILTER15_RX_BUFFER12			0xCFFF
#define CAN_FILTER15_RX_BUFFER13			0xDFFF
#define CAN_FILTER15_RX_BUFFER14			0xEFFF
#define CAN_FILTER15_RX_BUFFER_FIFO			0xFFFF

/* ECAN CONTROL REGISTER 1 bit definitions (CiCTRL1)*/

/* these defines are such that, when used will clear ABAT bit */

#define CAN_IDLE_STOP                0xEFFF    /* Discontinue module operation in idle mode */
#define CAN_IDLE_CON                 0xCFFF    /* continue modeule operation in idle mode */

#define CAN_ABAT                     0xFFFF    /* Abort all pending transmissions*/

#define CAN_MASTERCLK_FCY            0xEFFF    /* CAN master clock if Fcy*/
#define CAN_MASTERCLK_FOSC           0xE7FF    /* CAN master clock is Fosc*/

#define CAN_REQ_OPERMODE_NOR         0xE8FF    /* Set normal operation mode*/
#define CAN_REQ_OPERMODE_DIS         0xE9FF    /* set disable mode*/
#define CAN_REQ_OPERMODE_LOOPBK      0xEAFF    /* set loopback mode */
#define CAN_REQ_OPERMODE_LISTENONLY  0xEBFF    /* set listen only mode */
#define CAN_REQ_OPERMODE_CONFIG      0xECFF    /* set configuration mode */
#define CAN_REQ_OPERMODE_LISTENALL   0xEEFF    /* set listen all messages mode*/

#define CAN_OPMODE_IS_NOR            0xEF1F    /* module is in normal operation mode */
#define CAN_OPMODE_IS_DIS            0xE3FF    /* module is in disable mode */
#define CAN_OPMODE_IS_LOOPBK         0xE4FF    /* module is in loop back mode */
#define CAN_OPMODE_IS_LISTENONLY     0xE5FF    /* module is in listen only mode */
#define CAN_OPMODE_IS_CONFIG         0xE6FF    /* module is in configuration mode */
#define CAN_OPMODE_IS_LISTENALL      0xEFFF    /* module is in listen all messages mdoe */

#define CAN_CAPTURE_ENABLE           0xEFFF    /* Enable input capture based on CAN message receive */
#define CAN_CAPTURE_DISABLE          0xEFF7    /* disable can capture */

#define CAN_SFR_FILTER_WIN           0xEFFF    /* use filter window */
#define CAN_SFR_BUFFER_WIN           0XEFFE    /* use buffer window */

/*ECAN CONTROL REGISTER 2 bit definitions (CiCTRL2)*/

#define CAN_DO_NOT_CMP_DATABYTES       0xFFE0        /* Do not compare data bytes*/
#define CAN_CMP_DATABYTE1_BIT7_EID0    0xFFE1        /* Compare up to data byte 1, bit 7 with EID<0> */
#define CAN_CMP_DATABYTE1_BIT6_EID1    0xFFE2        /* Compare up to data byte 1, bit 7 with EID<0> */
#define CAN_CMP_DATABYTE1_BIT5_EID2    0xFFE3        /* Compare up to data byte 1, bit 7 with EID<0> */
#define CAN_CMP_DATABYTE1_BIT4_EID3    0xFFE4        /* Compare up to data byte 1, bit 7 with EID<0> */
#define CAN_CMP_DATABYTE1_BIT3_EID4    0xFFE5        /* Compare up to data byte 1, bit 7 with EID<0> */
#define CAN_CMP_DATABYTE1_BIT2_EID5    0xFFE6        /* Compare up to data byte 1, bit 7 with EID<0> */
#define CAN_CMP_DATABYTE1_BIT1_EID6    0xFFE7        /* Compare up to data byte 1, bit 7 with EID<0> */
#define CAN_CMP_DATABYTE1_BIT0_EID7    0xFFE8        /* Compare up to data byte 1, bit 7 with EID<0> */
#define CAN_CMP_DATABYTE2_BIT7_EID8    0xFFE9        /* Compare up to data byte 1, bit 7 with EID<0> */
#define CAN_CMP_DATABYTE2_BIT6_EID9    0xFFEA        /* Compare up to data byte 1, bit 7 with EID<0> */
#define CAN_CMP_DATABYTE2_BIT5_EID10   0xFFEB        /* Compare up to data byte 1, bit 7 with EID<0> */
#define CAN_CMP_DATABYTE2_BIT4_EID11   0xFFEC        /* Compare up to data byte 1, bit 7 with EID<0> */
#define CAN_CMP_DATABYTE2_BIT3_EID12   0xFFED        /* Compare up to data byte 1, bit 7 with EID<0> */
#define CAN_CMP_DATABYTE2_BIT2_EID13   0xFFEE        /* Compare up to data byte 1, bit 7 with EID<0> */
#define CAN_CMP_DATABYTE2_BIT1_EID14   0xFFEF        /* Compare up to data byte 1, bit 7 with EID<0> */
#define CAN_CMP_DATABYTE2_BIT0_EID15   0xFFF0        /* Compare up to data byte 1, bit 7 with EID<0> */
#define CAN_CMP_DATABYTE3_BIT7_EID16   0xFFF1        /* Compare up to data byte 1, bit 7 with EID<0> */

/*configuration of CiRXMnSID */

#define CAN_MASK_SID(x)                 ( ((x & 0x07FF) << 5) | 0x000B )

#define CAN_MATCH_FILTER_TYPE           0xFFEB       
#define CAN_IGNORE_FILTER_TYPE          0xFFE3

/*configuration of CiRXMnEIDH and CiRXMnEIDL */

#define CAN_MASK_EID(x)                 ( (unsigned long)x & 0x3FFFF )

/* configuration of CiRXFnSID */

#define CAN_FILTER_SID(x)               ( ((x & 0x07FF) << 5) | 0x000B )

#define CAN_RX_EID_EN                   0xFFEB       
#define CAN_RX_EID_DIS                  0xFFE3

/* configuration of CiRXFnEID */

#define CAN_FILTER_EID(x)               ( (unsigned long)x & 0x3FFFF ) 

/*ECAN CiFCTRL : ECAN FIFO CONTROL REGISTER */

#define CAN_DMA_BUF_SIZE_32    0xDFFF    /* 32 buffers in DMA RAM */
#define CAN_DMA_BUF_SIZE_24    0xBFFF    /* 24 buffers in DMA RAM */
#define CAN_DMA_BUF_SIZE_16    0x9FFF    /* 16 buffers in DMA RAM */
#define CAN_DMA_BUF_SIZE_12    0x7FFF    /* 12 buffers in DMA RAM */
#define CAN_DMA_BUF_SIZE_8     0x5FFF    /* 8 buffers in DMA RAM */
#define CAN_DMA_BUF_SIZE_6     0x3FFF    /* 6 buffers in DMA RAM */
#define CAN_DMA_BUF_SIZE_4     0x1FFF    /* 4 buffers in DMA RAM */

#define CAN_FIFO_AREA_RB31     0xFFFF    /* FIFO area starts with buffer bits */
#define CAN_FIFO_AREA_RB30     0xFFFE    /* FIFO area starts with buffer bits */
#define CAN_FIFO_AREA_RB29     0xFFFD    /* FIFO area starts with buffer bits */
#define CAN_FIFO_AREA_RB28     0xFFFC    /* FIFO area starts with buffer bits */
#define CAN_FIFO_AREA_RB27     0xFFFB    /* FIFO area starts with buffer bits */
#define CAN_FIFO_AREA_RB26     0xFFFA    /* FIFO area starts with buffer bits */
#define CAN_FIFO_AREA_RB25     0xFFF9    /* FIFO area starts with buffer bits */
#define CAN_FIFO_AREA_RB24     0xFFF8    /* FIFO area starts with buffer bits */
#define CAN_FIFO_AREA_RB23     0xFFF7    /* FIFO area starts with buffer bits */
#define CAN_FIFO_AREA_RB22     0xFFF6    /* FIFO area starts with buffer bits */
#define CAN_FIFO_AREA_RB21     0xFFF5    /* FIFO area starts with buffer bits */
#define CAN_FIFO_AREA_RB20     0xFFF4    /* FIFO area starts with buffer bits */
#define CAN_FIFO_AREA_RB19     0xFFF3    /* FIFO area starts with buffer bits */
#define CAN_FIFO_AREA_RB18     0xFFF2    /* FIFO area starts with buffer bits */
#define CAN_FIFO_AREA_RB17     0xFFF1    /* FIFO area starts with buffer bits */
#define CAN_FIFO_AREA_RB16     0xFFF0    /* FIFO area starts with buffer bits */
#define CAN_FIFO_AREA_RB15     0xFFEF    /* FIFO area starts with buffer bits */
#define CAN_FIFO_AREA_RB14     0xFFEE    /* FIFO area starts with buffer bits */
#define CAN_FIFO_AREA_RB13     0xFFED    /* FIFO area starts with buffer bits */
#define CAN_FIFO_AREA_RB12     0xFFEC    /* FIFO area starts with buffer bits */
#define CAN_FIFO_AREA_RB11     0xFFEB    /* FIFO area starts with buffer bits */
#define CAN_FIFO_AREA_RB10     0xFFEA    /* FIFO area starts with buffer bits */
#define CAN_FIFO_AREA_RB9      0xFFE9    /* FIFO area starts with buffer bits */
#define CAN_FIFO_AREA_RB8      0xFFE8    /* FIFO area starts with buffer bits */
#define CAN_FIFO_AREA_TRB7     0xFFE7    /* FIFO area starts with buffer bits */
#define CAN_FIFO_AREA_TRB6     0xFFE6    /* FIFO area starts with buffer bits */
#define CAN_FIFO_AREA_TRB5     0xFFE5    /* FIFO area starts with buffer bits */
#define CAN_FIFO_AREA_TRB4     0xFFE4    /* FIFO area starts with buffer bits */
#define CAN_FIFO_AREA_TRB3     0xFFE3    /* FIFO area starts with buffer bits */
#define CAN_FIFO_AREA_TRB2     0xFFE2    /* FIFO area starts with buffer bits */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -