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

📄 sja1000reg.h

📁 small rtos在周立功的开发板dp51上的使用示例
💻 H
📖 第 1 页 / 共 2 页
字号:

/*
 ********************************************************************************************************************
 *                          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       31            //时钟分频 寄存器

#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                      //双相输出模式
#define         NormalMode        0x02                      //正常输出模式
#define         ClkOutMode        0x03                      //时钟输出模式
           /*TX1 的输出管脚配置*/
#define         OCPOL1_BIT        0x20                      //输出极性控制位
#define         Tx1Float          0x00                      //配置为悬空
#define         Tx1PullDn         0x40                      //配置为下拉
#define         Tx1PullUp         0x80                      //配置为上拉
#define         Tx1PshPull        0Xc0                      //配置为推挽
            /*TX0 的输出管脚配置*/
#define         OCPOL0_BIT        0x04                      //输出极性控制位
#define         Tx0Float          0x00                      //配置为悬空
#define         Tx0PullDn         0x08                      //配置为下拉
#define         Tx0PullUp         0x10                      //配置为上拉
#define         Tx0PshPull        0X18                      //配置为推挽

/*
 ********************************************************************************************************************
 * 测试寄存器的地址定义 PeliCAN模式
 ********************************************************************************************************************
 */
#define         REG_CAN_TEST      0x09          //测试寄存器

/*
 ********************************************************************************************************************
 * 以下为发送缓冲区寄存器定义 
 ********************************************************************************************************************
 */
#define         REG_CAN_TXBUF0    0x0A            //发送缓冲区1
#define         REG_CAN_TXBUF1    0x0B            //发送缓冲区2
#define         REG_CAN_TXBUF2    0x0C            //发送缓冲区3
#define         REG_CAN_TXBUF3    0x0D            //发送缓冲区4
#define         REG_CAN_TXBUF4    0x0E            //发送缓冲区5
#define         REG_CAN_TXBUF5    0x0F            //发送缓冲区6
#define         REG_CAN_TXBUF6    0x10            //发送缓冲区7
#define         REG_CAN_TXBUF7    0x11            //发送缓冲区8
#define         REG_CAN_TXBUF8    0x12            //发送缓冲区9
#define         REG_CAN_TXBUF9    0x13            //发送缓冲区10

/*
 ********************************************************************************************************************
 * 以下为接收缓冲区寄存器定义 
 ********************************************************************************************************************
 */
#define         REG_CAN_RXBUF0    0x14         //接收缓冲区1
#define         REG_CAN_RXBUF1    0x15         //接收缓冲区2
#define         REG_CAN_RXBUF2    0x16         //接收缓冲区3
#define         REG_CAN_RXBUF3    0x17         //接收缓冲区4
#define         REG_CAN_RXBUF4    0x18         //接收缓冲区5
#define         REG_CAN_RXBUF5    0x19         //接收缓冲区6
#define         REG_CAN_RXBUF6    0x1A         //接收缓冲区7
#define         REG_CAN_RXBUF7    0x1B         //接收缓冲区8
#define         REG_CAN_RXBUF8    0x1C         //接收缓冲区9
#define         REG_CAN_RXBUF9    0x1D         //接收缓冲区10

/*
 ********************************************************************************************************************
 *                          时钟分频器地址和位定义 PeliCAN 模式
 ********************************************************************************************************************
 */
#define         REG_CAN_CDR       31            //时钟分频 寄存器

#define         CLKOff_BIT        0x08                      //时钟关闭位,时钟输出管脚控制位
#define         RXINTEN_BIT       0x20                      //用于接收中断的管脚TX1
#define         CBP_BIT           0x40                      //CAN 比较器旁路控制位
#define         CANMode_BIT       0x80                      //CAN 模式控制位


/*
 ********************************************************************************************************************
 *                          BasicCAN 模式寄存器定义结束
 ********************************************************************************************************************
 */
#endif
/*
 ********************************************************************************************************************
 *                        SJA1000寄存器定义结束
 ********************************************************************************************************************
 */
#endif

⌨️ 快捷键说明

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