📄 can591reg.h
字号:
/*
********************************************************************************************************************
*描述: P8XC591CAN寄存器说明头文件
*文件名: CAN591REG.H
*应用语言: KEIL C51
*版本 : V1.0
*广州周立功单片机发展有限公司 保留所有的版权
********************************************************************************************************************
*/
#ifndef _CAN591REG_H
#define _CAN591REG_H
#ifndef _REG591_H
#define _REG591_H
sfr REG_CANADR = 0XC1;
sfr REG_CANDAT = 0XC2;
#endif
/*
********************************************************************************************************************
* 模式和控制寄存器的地址和位定义PeliCAN模式
********************************************************************************************************************
*/
#define REG_CAN_MOD 0x00 //内部控制寄存器
#define RM_RR_BIT 0x01 //复位模式(请求)位
#define LOM_BIT 0x02 //监听模式位
#define STM_BIT 0x04 //自我测试模式位
#define AFM_BIT 0x08 //验收滤波器模式位
#define SM_BIT 0x10 //睡眠模式位
#define RPM_BIT 0X20 //接收优先级模式
#define TM_BIT 0X80 //测试模式
/*
********************************************************************************************************************
* 命令寄存器的地址和位定义 PeliCAN模式
********************************************************************************************************************
*/
#define REG_CAN_CMR 0x01 //命令寄存器
#define TR_BIT 0x01 //发送请求位
#define AT_BIT 0x02 //中止发送位
#define RRB_BIT 0x04 //释放接收缓冲器位
#define CDO_BIT 0x08 //清除数据溢出位
#define SRR_BIT 0x10 //自身接收请求位
/*
********************************************************************************************************************
* 状态寄存器的地址和位定义 PeliCAN模式
********************************************************************************************************************
*/
#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 //总线状态位
/*
********************************************************************************************************************
* 中断寄存器的地址和位定义 PeliCAN模式
********************************************************************************************************************
*/
#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 EPI_BIT 0x20 //错误消极中断位
#define ALI_BIT 0x40 //仲裁丢失中断位
#define BEI_BIT 0x80 //总线错误中断位
/*
********************************************************************************************************************
* 中断使能寄存器的地址和位定义 PeliCAN模式
********************************************************************************************************************
*/
#define REG_CAN_IER 0x04 //中断使能寄存器
#define RIE_BIT 0x01 //接收中断使能位
#define TIE_BIT 0x02 //发送中断使能位
#define EIE_BIT 0x04 //错误警告中断使能位
#define DOIE_BIT 0x08 //数据溢出中断使能位
#define WUIE_BIT 0x10 //唤醒中断使能位
#define EPIE_BIT 0x20 //错误消极中断使能位
#define ALIE_BIT 0x40 //仲裁丢失中断使能位
#define BEIE_BIT 0x80 //总线错误中断使能位
/*
********************************************************************************************************************
* 0x05 中断级寄存器
********************************************************************************************************************
*/
#define REG_CAN_RIL 0X05 //中断级寄存器
/*
********************************************************************************************************************
* 总线定时器寄存器的地址和位定义 PeliCAN模式
********************************************************************************************************************
*/
#define REG_CAN_BTR0 0x06 //总线定时器0寄存器
#define REG_CAN_BTR1 0x07 //总线定时器1寄存器
#define SAM_BIT 0x80 //采样模式位;0==总线被采样1次;1== 总线被采样3次
/*
********************************************************************************************************************
* 8 保留寄存器
********************************************************************************************************************
*/
/*
********************************************************************************************************************
* 9 RX接收信息计数寄存器
********************************************************************************************************************
*/
#define REG_CAN_RMC 9 //RX 信息计数器 寄存器
/*
********************************************************************************************************************
* 10 RX接收缓冲区起始地址寄存器
********************************************************************************************************************
*/
#define REG_CAN_RBSA 10 //RX 缓冲区起始地址 寄存器
/*
********************************************************************************************************************
* 其他寄存器的地址定义 PeliCAN模式
********************************************************************************************************************
*/
#define REG_CAN_ALC 11 //仲裁丢失捕捉寄存器
#define REG_CAN_ECC 12 //错误捕捉寄存器
#define REG_CAN_EWLR 13 //错误报警限制寄存器
#define REG_CAN_RXERR 14 //RX 错误计数器寄存器
#define REG_CAN_TXERR 15 //TX 错误计数器寄存器
/*
********************************************************************************************************************
* 29 ACF验收滤波器模式选择寄存器
********************************************************************************************************************
*/
#define REG_CAN_ACFMOD 29
#define ACF1_1FT 0X01
#define ACF1_2FT 0X00
#define ACF1_SFF 0X00
#define ACF1_EFF 0X02
#define ACF2_1FT 0X04
#define ACF2_2FT 0X00
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -