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

📄 ecan.h

📁 Mplab C30编译器
💻 H
📖 第 1 页 / 共 3 页
字号:
/********************************************************************/
/*                Header for ECAN module library functions          */
/********************************************************************/

#if defined(__dsPIC33F__)
#include <p33Fxxxx.h>
#elif defined(__PIC24H__)
#include <p24Hxxxx.h>
#else
#error "Does not build on this target"
#endif

#ifndef __CAN_H
#define __CAN_H

#ifdef _C1TXIF

/* List of SFRs for ECAN */
/* This list contains the SFRs with default (POR) values to be used for configuring ECAN */
/* The user can modify this based on the requirement */

#define CiCTRL1_VALUE              			0x0000
#define CiCTRL2_VALUE              			0x0000
#define CiVEC_VALUE                			0x0000
#define CiFCTRL_VALUE              			0x0000
#define CiFIFO_VALUE               			0x0000
#define CiINTF_VALUE               			0x0000
#define CiINTE_VALUE               			0x0000
#define CiEC_VALUE                 			0x0000
#define CiFG1_VALUE                			0x0000
#define CiFG2_VALUE                			0x0000
#define CiFEN1_VALUE               			0x0000
#define CiBUFPNT1_VALUE            			0x0001
#define CiBUFPNT2_VALUE            			0x0000
#define CiBUFPNT3_VALUE            			0x0000
#define CiBUFPNT4_VALUE            			0x0000
			
#define CiRXF0SID_VALUE            			0x0000
#define CiRXF1SID_VALUE            			0x0000
#define CiRXF2SID_VALUE            			0x0000
#define CiRXF3SID_VALUE            			0x0000
#define CiRXF4SID_VALUE            			0x0000
#define CiRXF5SID_VALUE            			0x0000
#define CiRXF6SID_VALUE            			0x0000
#define CiRXF7SID_VALUE            			0x0000
#define CiRXF8SID_VALUE            			0x0000
#define CiRXF9SID_VALUE            			0x0000
#define CiRXF10SID_VALUE           			0x0000
#define CiRXF11SID_VALUE           			0x0000
#define CiRXF12SID_VALUE           			0x0000
#define CiRXF13SID_VALUE           			0x0000
#define CiRXF14SID_VALUE           			0x0000
#define CiRXF15SID_VALUE           			0x0000
			
#define CiRXF0EID_VALUE            			0x0000
#define CiRXF1EID_VALUE            			0x0000
#define CiRXF2EID_VALUE            			0x0000
#define CiRXF3EID_VALUE            			0x0000
#define CiRXF4EID_VALUE            			0x0000
#define CiRXF5EID_VALUE            			0x0000
#define CiRXF6EID_VALUE            			0x0000
#define CiRXF7EID_VALUE            			0x0000
#define CiRXF8EID_VALUE            			0x0000
#define CiRXF9EID_VALUE            			0x0000
#define CiRXF10EID_VALUE           			0x0000
#define CiRXF11EID_VALUE           			0x0000
#define CiRXF12EID_VALUE           			0x0000
#define CiRXF13EID_VALUE           			0x0000
#define CiRXF14EID_VALUE           			0x0000
#define CiRXF15EID_VALUE           			0x0000
			
#define CiFMSKSEL1_VALUE           			0x0000
			
#define CiRXM0SID_VALUE            			0x0000
#define CiRXM1SID_VALUE            			0x0000
#define CiRXM2SID_VALUE            			0x0000
#define CiRXM3SID_VALUE            			0x0000
#define CiRXM4SID_VALUE            			0x0000
#define CiRXM5SID_VALUE            			0x0000
#define CiRXM6SID_VALUE            			0x0000
#define CiRXM7SID_VALUE            			0x0000
#define CiRXM8SID_VALUE            			0x0000
#define CiRXM9SID_VALUE            			0x0000
#define CiRXM10SID_VALUE           			0x0000
#define CiRXM11SID_VALUE           			0x0000
#define CiRXM12SID_VALUE           			0x0000
#define CiRXM13SID_VALUE           			0x0000
#define CiRXM14SID_VALUE           			0x0000
#define CiRXM15SID_VALUE           			0x0000
			
#define CiRXM0EID_VALUE            			0x0000
#define CiRXM1EID_VALUE            			0x0000
#define CiRXM2EID_VALUE            			0x0000
#define CiRXM3EID_VALUE            			0x0000
#define CiRXM4EID_VALUE            			0x0000
#define CiRXM5EID_VALUE            			0x0000
#define CiRXM6EID_VALUE            			0x0000
#define CiRXM7EID_VALUE            			0x0000
#define CiRXM8EID_VALUE            			0x0000
#define CiRXM9EID_VALUE            			0x0000
#define CiRXM10EID_VALUE           			0x0000
#define CiRXM11EID_VALUE           			0x0000
#define CiRXM12EID_VALUE           			0x0000
#define CiRXM13EID_VALUE           			0x0000
#define CiRXM14EID_VALUE           			0x0000
#define CiRXM15EID_VALUE           			0x0000
			
#define CiRXFUL1_VALUE             			0x0000
#define CiRXFUL2_VALUE             			0x0000
#define CiRXOVF1_VALUE             			0x0000
#define CiRXOVF2_VALUE             			0x0000
#define CiTR01CON_VALUE            			0x0383
#define CiTR23CON_VALUE            			0x0000
#define CiTR45CON_VALUE            			0x0000
#define CiTR67CON_VALUE            			0x0000

/* ECAN Transmit/Receive Buffer Control Register (CiTRmnCON) */

#define CAN_BUFFER0_IS_TX					0xFFFF		
#define CAN_BUFFER0_IS_RX					0xFF7F
					
#define CAN_BUFFER1_IS_TX					0xFFFF
#define CAN_BUFFER1_IS_RX					0x7FFF
					
#define CAN_BUFFER2_IS_TX					0xFFFF
#define CAN_BUFFER2_IS_RX					0xFF7F
					
#define CAN_BUFFER3_IS_TX					0xFFFF
#define CAN_BUFFER3_IS_RX					0x7FFF
					
#define CAN_BUFFER4_IS_TX					0xFFFF
#define CAN_BUFFER4_IS_RX					0xFF7F
					
#define CAN_BUFFER5_IS_TX					0xFFFF
#define CAN_BUFFER5_IS_RX					0x7FFF
					
#define CAN_BUFFER6_IS_TX					0xFFFF
#define CAN_BUFFER6_IS_RX					0xFF7F
					
#define CAN_BUFFER7_IS_TX					0xFFFF
#define CAN_BUFFER7_IS_RX					0x7FFF


#define CAN_SEND_REQUEST_BUFFER0			0xFFFF
#define CAN_ABORT_REQUEST_BUFFER0			0xFFF7
	
#define CAN_SEND_REQUEST_BUFFER1			0xFFFF
#define CAN_ABORT_REQUEST_BUFFER1			0xF7FF
	
#define CAN_SEND_REQUEST_BUFFER2			0xFFFF
#define CAN_ABORT_REQUEST_BUFFER2			0xFFF7
	
#define CAN_SEND_REQUEST_BUFFER3			0xFFFF
#define CAN_ABORT_REQUEST_BUFFER3			0xF7FF
	
#define CAN_SEND_REQUEST_BUFFER4			0xFFFF
#define CAN_ABORT_REQUEST_BUFFER4			0xFFF7

#define CAN_SEND_REQUEST_BUFFER5			0xFFFF
#define CAN_ABORT_REQUEST_BUFFER5			0xF7FF
	
#define CAN_SEND_REQUEST_BUFFER6			0xFFFF
#define CAN_ABORT_REQUEST_BUFFER6			0xFFF7
	
#define CAN_SEND_REQUEST_BUFFER7			0xFFFF
#define CAN_ABORT_REQUEST_BUFFER7			0xF7FF
	
#define CAN_AUTOREMOTE_ENABLE_BUFFER0		0xFFFF	
#define CAN_AUTOREMOTE_DISABLE_BUFFER0		0xFFFB
	
#define CAN_AUTOREMOTE_ENABLE_BUFFER1		0xFFFF
#define CAN_AUTOREMOTE_DISABLE_BUFFER1		0xFBFF
	
#define CAN_AUTOREMOTE_ENABLE_BUFFER2		0xFFFF
#define CAN_AUTOREMOTE_DISABLE_BUFFER2		0xFFFB
	
#define CAN_AUTOREMOTE_ENABLE_BUFFER3		0xFFFF
#define CAN_AUTOREMOTE_DISABLE_BUFFER3		0xFBFF
	
#define CAN_AUTOREMOTE_ENABLE_BUFFER4		0xFFFF
#define CAN_AUTOREMOTE_DISABLE_BUFFER4		0xFFFB
	
#define CAN_AUTOREMOTE_ENABLE_BUFFER5		0xFFFF
#define CAN_AUTOREMOTE_DISABLE_BUFFER5		0xFBFF
	
#define CAN_AUTOREMOTE_ENABLE_BUFFER6		0xFFFF
#define CAN_AUTOREMOTE_DISABLE_BUFFER6		0xFFFB
	
#define CAN_AUTOREMOTE_ENABLE_BUFFER7		0xFFFF
#define CAN_AUTOREMOTE_DISABLE_BUFFER7		0xFBFF
	
#define CAN_TX_HIGH_PRI_BUFFER0				0xFFFF
#define CAN_TX_HIGHINTM_PRI_BUFFER0			0xFFFE
#define CAN_TX_LOWINTM_PRI_BUFFER0			0xFFFD
#define CAN_TX_LOW_PRI_BUFFER0				0xFFFC
	
#define CAN_TX_HIGH_PRI_BUFFER1				0xFFFF
#define CAN_TX_HIGHINTM_PRI_BUFFER1			0xFEFF	
#define CAN_TX_LOWINTM_PRI_BUFFER1			0xFDFF	
#define CAN_TX_LOW_PRI_BUFFER1				0xFCFF
	
#define CAN_TX_HIGH_PRI_BUFFER2				0xFFFF
#define CAN_TX_HIGHINTM_PRI_BUFFER2			0xFFFE
#define CAN_TX_LOWINTM_PRI_BUFFER2			0xFFFD
#define CAN_TX_LOW_PRI_BUFFER2				0xFFFC
	
#define CAN_TX_HIGH_PRI_BUFFER3				0xFFFF
#define CAN_TX_HIGHINTM_PRI_BUFFER3			0xFEFF	
#define CAN_TX_LOWINTM_PRI_BUFFER3			0xFDFF
#define CAN_TX_LOW_PRI_BUFFER3				0xFCFF
	
#define CAN_TX_HIGH_PRI_BUFFER4				0xFFFF
#define CAN_TX_HIGHINTM_PRI_BUFFER4			0xFFFE
#define CAN_TX_LOWINTM_PRI_BUFFER4			0xFFFD
#define CAN_TX_LOW_PRI_BUFFER4				0xFFFC
	
#define CAN_TX_HIGH_PRI_BUFFER5				0xFFFF
#define CAN_TX_HIGHINTM_PRI_BUFFER5			0xFEFF
#define CAN_TX_LOWINTM_PRI_BUFFER5			0xFDFF
#define CAN_TX_LOW_PRI_BUFFER5				0xFCFF
	
#define CAN_TX_HIGH_PRI_BUFFER6				0xFFFF
#define CAN_TX_HIGHINTM_PRI_BUFFER6			0xFFFE
#define CAN_TX_LOWINTM_PRI_BUFFER6			0xFFFD
#define CAN_TX_LOW_PRI_BUFFER6				0xFFFC
	
#define CAN_TX_HIGH_PRI_BUFFER7				0xFFFF
#define CAN_TX_HIGHINTM_PRI_BUFFER7			0xFEFF
#define CAN_TX_LOWINTM_PRI_BUFFER7			0xFDFF
#define CAN_TX_LOW_PRI_BUFFER7				0xFCFF


/* ECAN Buffer Control Register (CiBUFPNT1) */

#define CAN_FILTER0_RX_BUFFER0				0xFFF0
#define CAN_FILTER0_RX_BUFFER1				0xFFF1
#define CAN_FILTER0_RX_BUFFER2				0xFFF2
#define CAN_FILTER0_RX_BUFFER3				0xFFF3
#define CAN_FILTER0_RX_BUFFER4				0xFFF4
#define CAN_FILTER0_RX_BUFFER5				0xFFF5
#define CAN_FILTER0_RX_BUFFER6				0xFFF6
#define CAN_FILTER0_RX_BUFFER7				0xFFF7
#define CAN_FILTER0_RX_BUFFER8				0xFFF8
#define CAN_FILTER0_RX_BUFFER9				0xFFF9
#define CAN_FILTER0_RX_BUFFER10				0xFFFA
#define CAN_FILTER0_RX_BUFFER11				0xFFFB		
#define CAN_FILTER0_RX_BUFFER12				0xFFFC
#define CAN_FILTER0_RX_BUFFER13				0xFFFD
#define CAN_FILTER0_RX_BUFFER14				0xFFFE	
#define CAN_FILTER0_RX_BUFFER_FIFO			0xFFFF

#define CAN_FILTER1_RX_BUFFER0				0xFF0F
#define CAN_FILTER1_RX_BUFFER1				0xFF1F
#define CAN_FILTER1_RX_BUFFER2				0xFF2F
#define CAN_FILTER1_RX_BUFFER3				0xFF3F
#define CAN_FILTER1_RX_BUFFER4				0xFF4F
#define CAN_FILTER1_RX_BUFFER5				0xFF5F
#define CAN_FILTER1_RX_BUFFER6				0xFF6F
#define CAN_FILTER1_RX_BUFFER7				0xFF7F
#define CAN_FILTER1_RX_BUFFER8				0xFF8F	
#define CAN_FILTER1_RX_BUFFER9				0xFF9F
#define CAN_FILTER1_RX_BUFFER10				0xFFAF
#define CAN_FILTER1_RX_BUFFER11				0xFFBF
#define CAN_FILTER1_RX_BUFFER12				0xFFCF
#define CAN_FILTER1_RX_BUFFER13				0xFFDF
#define CAN_FILTER1_RX_BUFFER14				0xFFEF
#define CAN_FILTER1_RX_BUFFER_FIFO			0xFFFF

#define CAN_FILTER2_RX_BUFFER0				0xF0FF
#define CAN_FILTER2_RX_BUFFER1				0xF1FF
#define CAN_FILTER2_RX_BUFFER2				0xF2FF
#define CAN_FILTER2_RX_BUFFER3				0xF3FF
#define CAN_FILTER2_RX_BUFFER4				0xF4FF
#define CAN_FILTER2_RX_BUFFER5				0xF5FF
#define CAN_FILTER2_RX_BUFFER6				0xF6FF
#define CAN_FILTER2_RX_BUFFER7				0xF7FF
#define CAN_FILTER2_RX_BUFFER8				0xF8FF
#define CAN_FILTER2_RX_BUFFER9				0xF9FF
#define CAN_FILTER2_RX_BUFFER10				0xFAFF
#define CAN_FILTER2_RX_BUFFER11				0xFBFF
#define CAN_FILTER2_RX_BUFFER12				0xFCFF
#define CAN_FILTER2_RX_BUFFER13				0xFDFF
#define CAN_FILTER2_RX_BUFFER14				0xFEFF
#define CAN_FILTER2_RX_BUFFER_FIFO			0xFFFF

#define CAN_FILTER3_RX_BUFFER0				0x0FFF
#define CAN_FILTER3_RX_BUFFER1				0x1FFF
#define CAN_FILTER3_RX_BUFFER2				0x2FFF
#define CAN_FILTER3_RX_BUFFER3				0x3FFF
#define CAN_FILTER3_RX_BUFFER4				0x4FFF
#define CAN_FILTER3_RX_BUFFER5				0x5FFF
#define CAN_FILTER3_RX_BUFFER6				0x6FFF
#define CAN_FILTER3_RX_BUFFER7				0x7FFF
#define CAN_FILTER3_RX_BUFFER8				0x8FFF
#define CAN_FILTER3_RX_BUFFER9				0x9FFF
#define CAN_FILTER3_RX_BUFFER10				0xAFFF
#define CAN_FILTER3_RX_BUFFER11				0xBFFF
#define CAN_FILTER3_RX_BUFFER12				0xCFFF
#define CAN_FILTER3_RX_BUFFER13				0xDFFF
#define CAN_FILTER3_RX_BUFFER14				0xEFFF
#define CAN_FILTER3_RX_BUFFER_FIFO			0xFFFF	


/* ECAN Buffer Control Register (CiBUFPNT2) */

#define CAN_FILTER4_RX_BUFFER0				0xFFF0										
#define CAN_FILTER4_RX_BUFFER1				0xFFF1
#define CAN_FILTER4_RX_BUFFER2				0xFFF2
#define CAN_FILTER4_RX_BUFFER3				0xFFF3
#define CAN_FILTER4_RX_BUFFER4				0xFFF4
#define CAN_FILTER4_RX_BUFFER5				0xFFF5
#define CAN_FILTER4_RX_BUFFER6				0xFFF6
#define CAN_FILTER4_RX_BUFFER7				0xFFF7
#define CAN_FILTER4_RX_BUFFER8				0xFFF8

⌨️ 快捷键说明

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