CAN控制器寄存器-docker部署python爬虫项目的方法步骤
16.7 CAN控制器寄存器
CAN模块执行表16.3和表16.4所示的寄存器,详细描述如下:
表16.3 CAN验收滤波器和中央CAN寄存器名称描述访问复位值地址
-
AFMR验收滤波器寄存器R/W 1 0x4003 C000
-
SFF_sa标准帧单个起始地址寄存器R/W 0 0x4003 C004
-
SFF_GRP_sa标准帧组起始地址寄存器R/W 0 0x4003 C008
-
EFF_sa扩展帧起始地址寄存器R/W 0 0x4003 C00C
-
EFF_GRP_sa扩展帧组起始地址寄存器R/W 0 0x4003 C010
-
ENDofable AF表格结束寄存器R/W 0 0x4003 C014
-
LUTerrAd LUT错误地址寄存器RO 0 0x4003 C018
-
LUTerr LUT错误寄存器RO 0 0x4003 C01C
-
CANTxSR CAN中央发送状态寄存器RO 0x003 0300 0x4004 0000
-
CANRxSR CAN中央接收状态寄存器RO 0 0x4004 0004
-
CANMSR CAN中央其它寄存器RO 0 0x4004 0008
表16.4 CAN1和CAN2控制器寄存器映射通用名称描述访问CAN1寄存器地址&名称CAN2寄存器地址&名称
-
MOD控制CAN控制器的操作模式R/W[2] CAN1MOD - 0xE004 4000 CAN2MOD - 0xE004 8000
-
CMR影响CAN控制器状态的命令位WO CAN1CMR - 0xE004 4004 CAN2CMR - 0xE004 8004
-
GSR全局控制状态和错误计数器RO[1] CAN1GSR - 0xE004 4008 CAN2GSR - 0xE004 8008
-
ICR中断状态,仲裁丢失捕获,错误代码捕获RO CAN1ICR - 0xE004 400C CAN2ICR - 0xE004 800C
-
IER中断使能R/W CAN1IER - 0xE004 4010 CAN2IER - 0xE004 8010
-
BTR总线时序R/W[2] CAN1BTR - 0xE004 4014 CAN2BTR - 0xE004 8014
-
EWL错误警报界限R/W[2] CAN1EWL - 0xE004 4018 CAN2EWL - 0xE004 8018
-
SR状态寄存器RO CAN1SR - 0xE004 401C CAN2SR - 0xE004 801C
-
RFS接收帧状态R/W[2] CAN1RFS - 0xE004 4020 CAN2RFS - 0xE004 8020
-
RID接收到的标识符R/W[2] CAN1RID - 0xE004 4024 CAN2RID - 0xE004 8024
-
RDA接收到的数据字节1~4 R/W[2] CAN1RDA - 0xE004 4028 CAN2RDA - 0xE004 8028
-
RDB接收到的数据字节5~8 R/W[2] CAN1RDB - 0xE004 402C CAN2RDB - 0xE004 802C
-
TFI1发送帧信息(Tx缓冲器1) R/W CAN1TFI1- 0x4004 4030 CAN2TFI1- 0x4004 8030
-
TID1发送标识符(Tx缓冲器1) R/W CAN1TID1 - 0xE004 4034 CAN2TID1 - 0xE004 8034
-
TDA1发送数据字节1~4(Tx缓冲器1) R/W CAN1TDA1 - 0xE004 4038 CAN2TDA1 - 0xE004 8038
-
TDB1发送数据字节5~8(Tx缓冲器1) R/W CAN1TDB1 - 0xE004 401C CAN2TDB1 – 0xE004 803C
-
TFI2发送帧信息(Tx缓冲器2) R/W CAN1TFI2 - 0xE004 4040 CAN2TFI2 - 0Xe004 8040
-
TID2发送标识符(Tx缓冲器2) R/W CAN1TID2 - 0xE004 4044 CAN2TID2 - 0xE004 8044
是不是觉得CAN总线控制器寄存器太复杂?其实,可以通过一些资源更轻松地理解这些寄存器。关于DSP中断实现方式以及寄存器访问的更多信息,可以参考这篇文章。或者,如果你想了解更多关于C语言访问MCU寄存器的方式,可以看看这里。更有趣的是,有关控制寄存器和系统地址寄存器的深入讲解,可以在这篇文章中找到。
所以,别让这些表格和地址吓到你,掌握它们其实并没有你想象的那么难!