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

📄 arcan_def.h

📁 Arduino library for ArCan. www.arcan.es
💻 H
字号:
/****************************************************************************
 *
 * Proyecto ArCan
 *
 * Copyright (C) 2008-2009 Ra鷏 Milla P閞ez raulmp(at)arcan.es
 *          http://www.arcan.es
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 ****************************************************************************/

 /** Pines de conexi髇 de ArCan con Arduino **/
#define ArCan_CS                10
#define P_SCK                   13
#define P_MOSI                  11
#define P_MISO                  12
#define ArCan_INT               9

/** Opcodes para mcp2515 **/
#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

/** Registros internos del mcp2515**/
#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

/** Registros bitDireccionables del mcp2515 **/

/** BFPCTRL **/
#define B1BFS                   5
#define B0BFS                   4
#define B1BFE                   3
#define B0BFE                   2
#define B1BFM                   1
#define B0BFM                   0

/** TXRTSCTRL **/
#define B2RTS                   5
#define B1RTS                   4
#define B0RTS                   3
#define B2RTSM                  2
#define B1RTSM                  1
#define B0RTSM                  0

/** CANSTAT **/
#define OPMOD2                  7
#define OPMOD1                  6
#define OPMOD0                  5
#define ICOD2                   3
#define ICOD1                   2
#define ICOD0                   1

/** CANCTRL **/
#define REQOP2                  7
#define REQOP1                  6
#define REQOP0                  5
#define ABAT                    4
#define CLKEN                   2
#define CLKPRE1                 1
#define CLKPRE0                 0

/** CNF3 **/
#define WAKFIL                  6
#define PHSEG22                 2
#define PHSEG21                 1
#define PHSEG20                 0

/** 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

/** 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

/** 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

/** 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

/** 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

/** TXBnCTRL (n = 0, 1, 2) **/
#define ABTF                    6
#define MLOA                    5
#define TXERR                   4
#define TXREQ                   3
#define TXP1                    1
#define TXP0                    0

/** RXB0CTRL **/
#define RXM1                    6
#define RXM0                    5
#define RXRTR                   3
#define BUKT                    2
#define BUKT1                   1
#define FILHIT0                 0

/** TXBnSIDL (n = 0, 1) **/
#define EXIDE                   3

/** RXB1CTRL
 RXM1, RXM0, RXRTR y FILHIT0 estan definidos en RXB0CTRL
**/
#define FILHIT2                 2
#define FILHIT1                 1

/** RXBnSIDL (n = 0, 1) **/
#define SRR                     4
#define IDE                     3

/**
 * del RXBnDLC (n = 0, 1)
 * ver TXBnDLC
 **/
#define RTR                     6
#define DLC3                    3
#define DLC2                    2
#define DLC1                    1
#define DLC0                    0

⌨️ 快捷键说明

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