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

📄 mcp2515_defs.h

📁 Library for CAN Controler sja1000
💻 H
字号:
// ----------------------------------------------------------------------------/* * Copyright (c) 2007 Fabian Greif, Roboterclub Aachen e.V. *  All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * $Id: mcp2515_defs.h 6611 2008-07-14 09:58:16Z fabian $ */// ----------------------------------------------------------------------------#ifndef	MCP2515_DEFS_H#define	MCP2515_DEFS_H/** \name	SPI Kommandos *//*@{*/#define SPI_RESET		0xC0#define	SPI_READ		0x03#define	SPI_READ_RX		0x90#define	SPI_WRITE		0x02#define	SPI_WRITE_TX	0x40#define	SPI_RTS			0x80#define SPI_READ_STATUS	0xA0#define	SPI_RX_STATUS	0xB0#define	SPI_BIT_MODIFY	0x05/*@}*//** \name	Adressen der Register des MCP2515 * * Die Redundanten Adressen von z.B. dem Register CANSTAT  * (0x0E, 0x1E, 0x2E, ...) wurden dabei nicht mit aufgelistet. *//*@{*/#define RXF0SIDH	0x00#define RXF0SIDL	0x01#define RXF0EID8	0x02#define RXF0EID0	0x03#define RXF1SIDH	0x04#define RXF1SIDL	0x05#define RXF1EID8	0x06#define RXF1EID0	0x07#define RXF2SIDH	0x08#define RXF2SIDL	0x09#define RXF2EID8	0x0A#define RXF2EID0	0x0B#define BFPCTRL		0x0C#define TXRTSCTRL	0x0D#define CANSTAT		0x0E#define CANCTRL		0x0F#define RXF3SIDH	0x10#define RXF3SIDL	0x11#define RXF3EID8	0x12#define RXF3EID0	0x13#define RXF4SIDH	0x14#define RXF4SIDL	0x15#define RXF4EID8	0x16#define RXF4EID0	0x17#define RXF5SIDH	0x18#define RXF5SIDL	0x19#define RXF5EID8	0x1A#define RXF5EID0	0x1B#define TEC			0x1C#define REC         0x1D#define RXM0SIDH	0x20#define RXM0SIDL	0x21#define RXM0EID8	0x22#define RXM0EID0	0x23#define RXM1SIDH	0x24#define RXM1SIDL	0x25#define RXM1EID8	0x26#define RXM1EID0	0x27#define CNF3		0x28#define CNF2		0x29#define CNF1		0x2A#define CANINTE		0x2B#define CANINTF		0x2C#define EFLG		0x2D#define TXB0CTRL	0x30#define TXB0SIDH	0x31#define TXB0SIDL	0x32#define TXB0EID8	0x33#define TXB0EID0	0x34#define TXB0DLC		0x35#define TXB0D0		0x36#define TXB0D1		0x37#define TXB0D2		0x38#define TXB0D3		0x39#define TXB0D4		0x3A#define TXB0D5		0x3B#define TXB0D6		0x3C#define TXB0D7		0x3D#define TXB1CTRL	0x40#define TXB1SIDH	0x41#define TXB1SIDL	0x42#define TXB1EID8	0x43#define TXB1EID0	0x44#define TXB1DLC		0x45#define TXB1D0		0x46#define TXB1D1		0x47#define TXB1D2		0x48#define TXB1D3		0x49#define TXB1D4		0x4A#define TXB1D5		0x4B#define TXB1D6		0x4C#define TXB1D7		0x4D#define TXB2CTRL	0x50#define TXB2SIDH	0x51#define TXB2SIDL	0x52#define TXB2EID8	0x53#define TXB2EID0	0x54#define TXB2DLC		0x55#define TXB2D0		0x56#define TXB2D1		0x57#define TXB2D2		0x58#define TXB2D3		0x59#define TXB2D4		0x5A#define TXB2D5		0x5B#define TXB2D6		0x5C#define TXB2D7		0x5D#define RXB0CTRL	0x60#define RXB0SIDH	0x61#define RXB0SIDL	0x62#define RXB0EID8	0x63#define RXB0EID0	0x64#define RXB0DLC		0x65#define RXB0D0		0x66#define RXB0D1		0x67#define RXB0D2		0x68#define RXB0D3		0x69#define RXB0D4		0x6A#define RXB0D5		0x6B#define RXB0D6		0x6C#define RXB0D7		0x6D#define RXB1CTRL	0x70#define RXB1SIDH	0x71#define RXB1SIDL	0x72#define RXB1EID8	0x73#define RXB1EID0	0x74#define RXB1DLC		0x75#define RXB1D0		0x76#define RXB1D1		0x77#define RXB1D2		0x78#define RXB1D3		0x79#define RXB1D4		0x7A#define RXB1D5		0x7B#define RXB1D6		0x7C#define RXB1D7		0x7D/*@}*//** \name	Bitdefinition der verschiedenen Register *//*@{*//** \brief	Bitdefinition von BFPCTRL */#define B1BFS		5#define B0BFS		4#define B1BFE		3#define B0BFE		2#define B1BFM		1#define B0BFM		0/** \brief	Bitdefinition von TXRTSCTRL */#define B2RTS		5#define B1RTS		4#define B0RTS		3#define B2RTSM		2#define B1RTSM		1#define B0RTSM		0/** \brief	Bitdefinition von CANSTAT */#define OPMOD2		7#define OPMOD1		6#define OPMOD0		5#define ICOD2		3#define ICOD1		2#define ICOD0		1/** \brief	Bitdefinition von CANCTRL */#define REQOP2		7#define REQOP1		6#define REQOP0		5#define ABAT		4#define CLKEN		2#define CLKPRE1		1#define CLKPRE0		0/** \brief	Bitdefinition von CNF3 */#define WAKFIL		6#define PHSEG22		2#define PHSEG21		1#define PHSEG20		0/** \brief	Bitdefinition von CNF2 */#define BTLMODE		7#define SAM			6#define PHSEG12		5#define PHSEG11		4#define PHSEG10		3#define PHSEG2		2#define PHSEG1		1#define PHSEG0		0/** \brief	Bitdefinition von CNF1 */#define SJW1		7#define SJW0		6#define BRP5		5#define BRP4		4#define BRP3		3#define BRP2		2#define BRP1		1#define BRP0		0/** \brief	Bitdefinition von CANINTE */#define MERRE		7#define WAKIE		6#define ERRIE		5#define TX2IE		4#define TX1IE		3#define TX0IE		2#define RX1IE		1#define RX0IE		0/** \brief	Bitdefinition von CANINTF */#define MERRF		7#define WAKIF		6#define ERRIF		5#define TX2IF		4#define TX1IF		3#define TX0IF		2#define RX1IF		1#define RX0IF		0/** \brief	Bitdefinition von EFLG */#define RX1OVR		7#define RX0OVR		6#define TXB0		5#define TXEP		4#define RXEP		3#define TXWAR		2#define RXWAR		1#define EWARN		0/** \brief	Bitdefinition von TXBnCTRL (n = 0, 1, 2) */#define ABTF		6#define MLOA		5#define TXERR		4#define TXREQ		3#define TXP1		1#define TXP0		0/** \brief	Bitdefinition von RXB0CTRL */#define RXM1		6#define RXM0		5#define RXRTR		3#define BUKT		2#define BUKT1		1#define FILHIT0		0/** \brief	Bitdefinition von TXBnSIDL (n = 0, 1) */#define	EXIDE		3/** * \brief	Bitdefinition von RXB1CTRL * \see		RXM1, RXM0, RXRTR und FILHIT0 sind schon fuer RXB0CTRL definiert */#define FILHIT2		2#define FILHIT1		1/** \brief	Bitdefinition von RXBnSIDL (n = 0, 1) */#define	SRR			4#define	IDE			3/** * \brief	Bitdefinition von RXBnDLC (n = 0, 1) * \see		TXBnDLC   (gleiche Bits) */#define	RTR			6#define	DLC3		3#define	DLC2		2#define	DLC1		1#define DLC0		0/*@}*/#endif	// MCP2515_DEFS_H

⌨️ 快捷键说明

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