📄 reg.h
字号:
#define REG_CAN_AMR0 20 //验收屏蔽0寄存器
#define REG_CAN_AMR1 21 //验收屏蔽1寄存器
#define REG_CAN_AMR2 22 //验收屏蔽2寄存器
#define REG_CAN_AMR3 23 //验收屏蔽3寄存器
/*
********************************************************************************************************************
* Tx 缓冲器的地址定义 PeliCAN 模式
********************************************************************************************************************
*/
/*仅写地址*/
#define REG_CAN_TXFMINFO 16 //TX 帧信息(标准帧、扩展帧)寄存器
#define REG_CAN_TXBUF1 17 //TX 帧信息(标准帧、扩展帧)识别码1寄存器
#define REG_CAN_TXBUF2 18 //TX 帧信息(标准帧、扩展帧)识别码2寄存器
#define REG_CAN_TXBUF3 19 //TX 帧信息(标准帧数据1、扩展帧识别码3)寄存器
#define REG_CAN_TXBUF4 20 //TX 帧信息(标准帧数据2、扩展帧识别码4)寄存器
#define REG_CAN_TXBUF5 21 //TX 帧信息(标准帧数据3、扩展帧数据1)寄存器
#define REG_CAN_TXBUF6 22 //TX 帧信息(标准帧数据4、扩展帧数据2)寄存器
#define REG_CAN_TXBUF7 23 //TX 帧信息(标准帧数据5、扩展帧数据3)寄存器
#define REG_CAN_TXBUF8 24 //TX 帧信息(标准帧数据6、扩展帧数据4)寄存器
#define REG_CAN_TXBUF9 25 //TX 帧信息(标准帧数据7、扩展帧数据5)寄存器
#define REG_CAN_TXBUF10 26 //TX 帧信息(标准帧数据8、扩展帧数据6)寄存器
#define REG_CAN_TXBUF11 27 //TX 帧信息 (扩展帧数据7)寄存器
#define REG_CAN_TXBUF12 28 //TX 帧信息 (扩展帧数据8)寄存器
/*仅读地址*/
#define REG_CAN_TXFMRD 96 //读取TX 帧信息(标准帧、扩展帧)寄存器
#define REG_CAN_TXRD1 97 //读取TX 帧信息(标准帧、扩展帧)识别码1寄存器
#define REG_CAN_TXRD2 98 //读取TX 帧信息(标准帧、扩展帧)识别码2寄存器
#define REG_CAN_TXRD3 99 //读取TX 帧信息(标准帧数据1、扩展帧识别码3)寄存器
#define REG_CAN_TXRD4 100 //读取TX 帧信息(标准帧数据2、扩展帧识别码4)寄存器
#define REG_CAN_TXRD5 101 //读取TX 帧信息(标准帧数据3、扩展帧数据1)寄存器
#define REG_CAN_TXRD6 102 //读取TX 帧信息(标准帧数据4、扩展帧数据2)寄存器
#define REG_CAN_TXRD7 103 //读取TX 帧信息(标准帧数据5、扩展帧数据3)寄存器
#define REG_CAN_TXRD8 104 //读取TX 帧信息(标准帧数据6、扩展帧数据4)寄存器
#define REG_CAN_TXRD9 105 //读取TX 帧信息(标准帧数据7、扩展帧数据5)寄存器
#define REG_CAN_TXRD10 106 //读取TX 帧信息(标准帧数据8、扩展帧数据6)寄存器
#define REG_CAN_TXRD11 107 //读取TX 帧信息 (扩展帧数据7)寄存器
#define REG_CAN_TXRD12 108 //读取TX 帧信息 (扩展帧数据8)寄存器
/*
********************************************************************************************************************
* Rx 缓冲器的地址定义 PeliCAN 模式
********************************************************************************************************************
*/
#define REG_CAN_RXFMINFO 16 //RX 帧信息(标准帧、 扩展帧)寄存器
#define REG_CAN_RXBUF1 17 //RX 识别码(标准帧、 扩展帧)寄存器1
#define REG_CAN_RXBUF2 18 //RX 帧信息(标准帧、 扩展帧)识别码2寄存器
#define REG_CAN_RXBUF3 19 //RX 帧信息(标准帧数据1、扩展帧识别码3)寄存器
#define REG_CAN_RXBUF4 20 //RX 帧信息(标准帧数据2、扩展帧识别码4)寄存器
#define REG_CAN_RXBUF5 21 //RX 帧信息(标准帧数据3、扩展帧数据1)寄存器
#define REG_CAN_RXBUF6 22 //RX 帧信息(标准帧数据4、扩展帧数据2)寄存器
#define REG_CAN_RXBUF7 23 //RX 帧信息(标准帧数据5、扩展帧数据3)寄存器
#define REG_CAN_RXBUF8 24 //RX 帧信息(标准帧数据6、扩展帧数据4)寄存器
#define REG_CAN_RXBUF9 25 //RX 帧信息(标准帧数据7、扩展帧数据5)寄存器
#define REG_CAN_RXBUF10 26 //RX 帧信息(标准帧数据8、扩展帧数据6)寄存器
#define REG_CAN_RXBUF11 27 //RX 帧信息 (扩展帧数据7)寄存器
#define REG_CAN_RXBUF12 28 //RX 帧信息 (扩展帧数据8)寄存器
#define REG_CAN_RMC 29 //RX 信息计数器 寄存器
#define REG_CAN_RBSA 30 //RX 缓冲区起始地址 寄存器
/*
********************************************************************************************************************
/* 时钟分频器地址和位定义 PeliCAN 模式
********************************************************************************************************************
*/
#define REG_CAN_CDR 0x1f //时钟分频 寄存器
#define CLKOff_BIT 0x08 //时钟关闭位,时钟输出管脚控制位
#define RXINTEN_BIT 0x20 //用于接收中断的管脚TX1
#define CBP_BIT 0x40 //CAN 比较器旁路控制位
#define CANMode_BIT 0x80 //CAN 模式控制位
/*
********************************************************************************************************************
* PeliCAN 模式寄存器定义结束
********************************************************************************************************************
*/
#endif
#ifdef _SJA_BASICCAN_MODE_
/*
********************************************************************************************************************
* BasicCAN 模式寄存器定义
********************************************************************************************************************
*/
/*$page*/
/*
********************************************************************************************************************
* 内部控制寄存器及位定义
********************************************************************************************************************
*/
#define REG_CAN_CTR 0x00
#define RM_RR_BIT 0x01 //复位模式(请求)位
#define RIE_BIT 0x02 //接收中断使能位
#define TIE_BIT 0x04 //接收中断使能位
#define EIE_BIT 0x08 //错误中断使能位
#define OIE_BIT 0x10 //超载中断使能位
/*
********************************************************************************************************************
* 内部命令寄存器及位定义
********************************************************************************************************************
*/
#define REG_CAN_CMR 0x01 //命令寄存器
#define TR_BIT 0x01 //发送请求位
#define AT_BIT 0x02 //中止发送位
#define RRB_BIT 0x04 //释放接收缓冲器位
#define CDO_BIT 0x08 //清除数据溢出位
#define WU_BIT 0x10 //睡眠位
/*
********************************************************************************************************************
* 状态寄存器的地址和位定义
********************************************************************************************************************
*/
#define REG_CAN_SR 0x02 //状态寄存器
#define RBS_BIT 0x01 //接收缓冲器状态位
#define DOS_BIT 0x02 //数据溢出状态位
#define TBS_BIT 0x04 //发送缓冲器状态位
#define TCS_BIT 0x08 //发送完成状态位
#define RS_BIT 0x10 //接收状态位
#define TS_BIT 0x20 //发送状态位
#define ES_BIT 0x40 //错误状态位
#define BS_BIT 0x80 //总线状态位
/*
********************************************************************************************************************
* 中断寄存器的地址和位定义
********************************************************************************************************************
*/
#define REG_CAN_IR 0x03 //中断寄存器
#define RI_BIT 0x01 //接收中断位
#define TI_BIT 0x02 //发送中断位
#define EI_BIT 0x04 //错误警告中断位
#define DOI_BIT 0x08 //数据溢出中断位
#define WUI_BIT 0x10 //唤醒中断位
/*
********************************************************************************************************************
* 验收滤波器寄存器的地址定义 注:只在复位模式下有效
********************************************************************************************************************
*/
#define REG_CAN_ACR 0x04 //验收代码寄存器
#define REG_CAN_AMR 0x05 //验收屏蔽寄存器
/*
********************************************************************************************************************
* 总线定时器寄存器的地址和位定义
********************************************************************************************************************
*/
#define REG_CAN_BTR0 0x06 //总线定时器0寄存器
#define REG_CAN_BTR1 0x07 //总线定时器1寄存器
#define SAM_BIT 0x80 //采样模式位;0==总线被采样1次;1== 总线被采样3次
/*
********************************************************************************************************************
* 输出控制寄存器的地址和位定义
********************************************************************************************************************
*/
#define REG_CAN_OCR 0x08 //输出控制寄存器
/*OCMODE1 ,OCMODE0 */
#define BiPhaseMode 0x00 //双相输出模式
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -