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

📄 mcp2510.h

📁 msp430下使用mcp2510can芯片的源代码
💻 H
📖 第 1 页 / 共 2 页
字号:
                                  // --00 = Lowest Message Priority
#define  TXREQ      (0x08)        // Message Transmit Request 
                                  // --1 = Buffer is currently pending transmission
                                  // --(MCU sets this bit to request message be transmitted - 
                                  // -- bit is automatically cleared when the message is sent)
                                  // --0 = Buffer is not currently pending transmission
                                  // --(MCU can clear this bit to request a message abort)
#define  TXERR      (0x10)        // Transmission Error Detected
                                  // --1 = A bus error occurred while the message was being transmitted
                                  // --0 = No bus error occurred while the message was being transmitted
#define  MLOA       (0x20)        // Message Lost Arbitration
                                  // --1 = Message lost arbitration while being sent
                                  // --0 = Message did not lose arbitration while being sent
#define  ABTF       (0x40)        // Message Aborted Flag
                                  // --1 = Message was aborted
                                  // --0 = Message completed transmission successfully
#define  TXB0SIDH   (0x31)        /*** TRANSMIT BUFFER 0 STANDARD IDENTIFIER HIGH ***/
#define  TXB0SIDL   (0x32)        /*** TRANSMIT BUFFER 0 STANDARD IDENTIFIER Low  ***/
#define  TXB0EID8   (0x33)        /*** TRANSMIT BUFFER 0 EXTENDED IDENTIFIER HIGH ***/
#define  TXB0EID0   (0x34)        /*** TRANSMIT BUFFER 0 EXTENDED IDENTIFIER LOW  ***/
#define  TXB0DLC    (0x35)        /*** Transmit Buffer 0 Data Length Code         ***/
#define  TXB0D0     (0x36)        /*** Transmit Buffer 0 Data Field Byte 0        ***/
#define  TXB0D1     (0x37)        
#define  TXB0D2     (0x38) 
#define  TXB0D3     (0x39)        
#define  TXB0D4     (0x3A) 
#define  TXB0D5     (0x3B)        
#define  TXB0D6     (0x3C) 
#define  TXB0D7     (0x3D) 

/*******************************Transmit BUFFER 1 REGISTERS******************************************************/ 
#define  TXB1CTRL   (0x40)        /*** Transmit Buffer 0 Control Register ***/
#define  TXB1SIDH   (0x41)        /*** TRANSMIT BUFFER 1 STANDARD IDENTIFIER HIGH ***/
#define  TXB1SIDL   (0x42)        /*** TRANSMIT BUFFER 1 STANDARD IDENTIFIER Low  ***/
#define  TXB1EID8   (0x43)        /*** TRANSMIT BUFFER 1 EXTENDED IDENTIFIER HIGH ***/
#define  TXB1EID0   (0x44)        /*** TRANSMIT BUFFER 1 EXTENDED IDENTIFIER LOW  ***/
#define  TXB1DLC    (0x45)        /*** Transmit Buffer 1 Data Length Code         ***/
#define  TXB1D0     (0x46)        /*** Transmit Buffer 1 Data Field Byte 0         ***/
#define  TXB1D1     (0x47)        
#define  TXB1D2     (0x48) 
#define  TXB1D3     (0x49)        
#define  TXB1D4     (0x4A) 
#define  TXB1D5     (0x4B)        
#define  TXB1D6     (0x4C) 
#define  TXB1D7     (0x4D)   

/*******************************Transmit BUFFER 2 REGISTERS******************************************************/ 
#define  TXB2CTRL   (0x50)        /*** Transmit Buffer 0 Control Register ***/
#define  TXB2SIDH   (0x51)        /*** TRANSMIT BUFFER 2 STANDARD IDENTIFIER HIGH ***/
#define  TXB2SIDL   (0x52)        /*** TRANSMIT BUFFER 2 STANDARD IDENTIFIER Low  ***/
#define  TXB2EID8   (0x53)        /*** TRANSMIT BUFFER 2 EXTENDED IDENTIFIER HIGH ***/
#define  TXB2EID0   (0x54)        /*** TRANSMIT BUFFER 2 EXTENDED IDENTIFIER LOW  ***/
#define  TXB2DLC    (0x55)        /*** Transmit Buffer 2 Data Length Code         ***/
#define  TXB2D0     (0x56)        /*** Transmit Buffer 2 Data Field Byte 0         ***/
#define  TXB2D1     (0x57)        
#define  TXB2D2     (0x58) 
#define  TXB2D3     (0x59)        
#define  TXB2D4     (0x5A) 
#define  TXB2D5     (0x5B)        
#define  TXB2D6     (0x5C) 
#define  TXB2D7     (0x5D) 

#define DLC_MASK    (0x0F)
                                  
/*******************************RECEIVE BUFFER 0 REGISTERS******************************************************/                                 
#define  RXB0CTRL   (0x60)        /*** RECEIVE BUFFER 0 CONTROL REGISTER ***/
#define  FILHIT0    (0x01)        // FILHIT<0>: Filter Hit - indicates which acceptance filter enabled reception of message
                                  // --1 = Acceptance Filter 1 (RXF1)
                                  // --0 = Acceptance Filter 0 (RXF0)
#define  BUKT1      (0x02)        // Read Only Copy of BUKT Bit (used internally by the MCP2510).
#define  BUKT       (0x04)        // Rollover Enable
                                  // --1 = RXB0 message will rollover and be written to RXB1 if RXB0 is full
                                  // --0 = Rollover disabled
#define  RXRTR      (0x08)        // Received Remote Transfer Request:1 = Remote Transfer Request Received
                                  // --0 = No Remote Transfer Request Received
#define  RXM0       (0x20)        // RXM<1:0>: Receive Buffer Operating Mode
#define  RXM1       (0x40)        // --11 =Turn mask/filters off; receive any message
                                  // --10 =Receive only valid messages with extended identifiers that meet filter criteria
                                  // --01 =Receive only valid messages with standard identifiers that meet filter criteria
                                  // --00 =Receive all valid messages using either standard or extended identifiers that meet filter
                                  // --criteria
#define  RXB0SIDH   (0x61)        /*** RECEIVE BUFFER 0 STANDARD IDENTIFIER HIGH ***/ 
#define  RXB0SIDL   (0x62)        /*** RECEIVE BUFFER 0 STANDARD IDENTIFIER LOW  ***/ 
#define  RXB0EID8   (0x63)        /*** RECEIVE BUFFER 0 EXTENDED IDENTIFIER MID  ***/ 
#define  RXB0EID0   (0x64)        /*** RECEIVE BUFFER 0 EXTENDED IDENTIFIER LOW  ***/ 
#define  RXB0DLC    (0x65)        /*** RECEIVE BUFFER 0 DATA LENGTH CODE   ***/ 
#define  RXB0D0     (0x66)        /*** RECEIVE BUFFER 0 DATA FIELD BYTE 0  ***/ 
#define  RXB0D1     (0x67)        /*** RECEIVE BUFFER 0 DATA FIELD BYTE 1  ***/
#define  RXB0D2     (0x68)        /*** RECEIVE BUFFER 0 DATA FIELD BYTE 2  ***/
#define  RXB0D3     (0x69)        /*** RECEIVE BUFFER 0 DATA FIELD BYTE 3  ***/
#define  RXB0D4     (0x6A)        /*** RECEIVE BUFFER 0 DATA FIELD BYTE 4  ***/
#define  RXB0D5     (0x6B)        /*** RECEIVE BUFFER 0 DATA FIELD BYTE 5  ***/
#define  RXB0D6     (0x6C)        /*** RECEIVE BUFFER 0 DATA FIELD BYTE 6  ***/
#define  RXB0D7     (0x6D)        /*** RECEIVE BUFFER 0 DATA FIELD BYTE 7  ***/

/*******************************RECEIVE BUFFER 1 REGISTERS******************************************************/
#define  RXB1CTRL   (0x70)        /*** RECEIVE BUFFER 1 CONTROL REGISTER ***/ 
#define  FILHIT1    (0x02)        // Filter Hit - indicates which acceptance filter enabled reception of message
#define  FILHIT2    (0x04)        // 101 = Acceptance Filter 5 (RXF5)
                                  // 100 = Acceptance Filter 4 (RXF4)
                                  // 011 = Acceptance Filter 3 (RXF3)
                                  // 010 = Acceptance Filter 2 (RXF2)
                                  // 001 = Acceptance Filter 1 (RXF1) (Only if BUKT bit set in RXB0CTRL)
                                  // 000 = Acceptance Filter 0 (RXF0) (Only if BUKT bit set in RXB0CTRL)
#define  RXB1SIDH   (0x71)        /*** RECEIVE BUFFER 1 STANDARD IDENTIFIER HIGH ***/   
#define  RXB1SIDL   (0x72)        /*** RECEIVE BUFFER 1 STANDARD IDENTIFIER LOW  ***/ 
#define  RXB1EID8   (0x73)        /*** RECEIVE BUFFER 1 EXTENDED IDENTIFIER MID  ***/ 
#define  RXB1EID0   (0x74)        /*** RECEIVE BUFFER 1 EXTENDED IDENTIFIER LOW  ***/ 
#define  RXB1DLC    (0x75)        /*** RECEIVE BUFFER 1 DATA LENGTH CODE  ***/ 
#define  RXB1D0     (0x76)        /*** RECEIVE BUFFER 1 DATA FIELD BYTE 0  ***/ 
#define  RXB1D1     (0x77)        /*** RECEIVE BUFFER 1 DATA FIELD BYTE 1  ***/
#define  RXB1D2     (0x78)        /*** RECEIVE BUFFER 1 DATA FIELD BYTE 2  ***/
#define  RXB1D3     (0x79)        /*** RECEIVE BUFFER 1 DATA FIELD BYTE 3  ***/
#define  RXB1D4     (0x7A)        /*** RECEIVE BUFFER 1 DATA FIELD BYTE 4  ***/
#define  RXB1D5     (0x7B)        /*** RECEIVE BUFFER 1 DATA FIELD BYTE 5  ***/
#define  RXB1D6     (0x7C)        /*** RECEIVE BUFFER 1 DATA FIELD BYTE 6  ***/
#define  RXB1D7     (0x7D)        /*** RECEIVE BUFFER 1 DATA FIELD BYTE 7  ***/

#define  SIDH        0
#define  SIDL        1
#define  EID8        2
#define  EID0        3
 
#define  RXF0SIDH   (0x00)        /*** ACCEPTANCE FILTER 0 STANDARD IDENTIFIER HIGH  ***/
#define  RXF0SIDL   (0x01)        /*** ACCEPTANCE FILTER 0 STANDARD IDENTIFIER LOW  ***/
#define  RXF0EID8   (0x02)        /*** ACCEPTANCE FILTER 0 EXTENDED IDENTIFIER HIGH  ***/
#define  RXF0EID0   (0x03)        /*** ACCEPTANCE FILTER 0 EXTENDED IDENTIFIER LOW  ***/
#define  RXF1SIDH   (0x04)        /*** ACCEPTANCE FILTER 1 STANDARD IDENTIFIER HIGH  ***/
#define  RXF1SIDL   (0x05)        /*** ACCEPTANCE FILTER 1 STANDARD IDENTIFIER LOW  ***/
#define  RXF1EID8   (0x06)        /*** ACCEPTANCE FILTER 1 EXTENDED IDENTIFIER HIGH  ***/
#define  RXF1EID0   (0x07)        /*** ACCEPTANCE FILTER 1 EXTENDED IDENTIFIER LOW  ***/
#define  RXF2SIDH   (0x08)        /*** ACCEPTANCE FILTER 2 STANDARD IDENTIFIER HIGH  ***/
#define  RXF2SIDL   (0x09)        /*** ACCEPTANCE FILTER 2 STANDARD IDENTIFIER LOW  ***/
#define  RXF2EID8   (0x0A)        /*** ACCEPTANCE FILTER 2 EXTENDED IDENTIFIER HIGH  ***/
#define  RXF2EID0   (0x0B)        /*** ACCEPTANCE FILTER 2 EXTENDED IDENTIFIER LOW  ***/

#define  RXF3SIDH   (0x10)        /*** ACCEPTANCE FILTER 3 STANDARD IDENTIFIER HIGH  ***/
#define  RXF3SIDL   (0x11)        /*** ACCEPTANCE FILTER 3 STANDARD IDENTIFIER LOW  ***/
#define  RXF3EID8   (0x12)        /*** ACCEPTANCE FILTER 3 EXTENDED IDENTIFIER HIGH  ***/
#define  RXF3EID0   (0x13)        /*** ACCEPTANCE FILTER 3 EXTENDED IDENTIFIER LOW  ***/
#define  RXF4SIDH   (0x14)        /*** ACCEPTANCE FILTER 4 STANDARD IDENTIFIER HIGH  ***/
#define  RXF4SIDL   (0x15)        /*** ACCEPTANCE FILTER 4 STANDARD IDENTIFIER LOW  ***/
#define  RXF4EID8   (0x16)        /*** ACCEPTANCE FILTER 4 EXTENDED IDENTIFIER HIGH  ***/
#define  RXF4EID0   (0x17)        /*** ACCEPTANCE FILTER 4 EXTENDED IDENTIFIER LOW  ***/
#define  RXF5SIDH   (0x18)        /*** ACCEPTANCE FILTER 5 STANDARD IDENTIFIER HIGH  ***/
#define  RXF5SIDL   (0x19)        /*** ACCEPTANCE FILTER 5 STANDARD IDENTIFIER LOW  ***/
#define  RXF5EID8   (0x1A)        /*** ACCEPTANCE FILTER 5 EXTENDED IDENTIFIER HIGH  ***/
#define  RXF5EID0   (0x1B)        /*** ACCEPTANCE FILTER 5 EXTENDED IDENTIFIER LOW  ***/

#define  RXM0SIDH   (0x20)        /*** ACCEPTANCE FILTER MASK 0 STANDARD IDENTIFIER HIGH  ***/
#define  RXM0SIDL   (0x21)        /*** ACCEPTANCE FILTER MASK 0 STANDARD IDENTIFIER LOW  ***/
#define  RXM0EID8   (0x22)        /*** ACCEPTANCE FILTER MASK 0 EXTENDED IDENTIFIER HIGH  ***/
#define  RXM0EID0   (0x23)        /*** ACCEPTANCE FILTER MASK 0 EXTENDED IDENTIFIER LOW  ***/
#define  RXM1SIDH   (0x24)        /*** ACCEPTANCE FILTER MASK 1 STANDARD IDENTIFIER HIGH  ***/
#define  RXM1SIDL   (0x25)        /*** ACCEPTANCE FILTER MASK 1 STANDARD IDENTIFIER LOW  ***/
#define  RXM1EID8   (0x26)        /*** ACCEPTANCE FILTER MASK 1 EXTENDED IDENTIFIER HIGH  ***/
#define  RXM1EID0   (0x27)        /*** ACCEPTANCE FILTER MASK 1 EXTENDED IDENTIFIER LOW  ***/

uchar Get_CAN_address(void);
uchar SPI_putch(uchar outdata);
void mcp_select( void );
void mcp_select( void );
void mcp_unselect(void ); 
void mcp_reset( void );
uchar mcp_RD_address(uchar address);
uchar mcp_RD_status(void);
void mcp_WR_address(uchar address,uchar output);
void mcp_write_bits(uchar address,uchar mask,uchar data);
void mcp_RTS(uchar TXnumber);
void mcp_read( uchar address, uchar* readdata, uchar length );
void mcp_write( uchar address, uchar* writedata, uchar length );
void mcp_read_can( uchar RXnumber,uchar* data );
void mcp_write_can( uchar TXnumber,uchar number,uchar dlc,uchar* data );
void init_can(void);

#endif

⌨️ 快捷键说明

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