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

📄 sja_peliconf.h

📁 can-汇编测试程序
💻 H
📖 第 1 页 / 共 2 页
字号:
 */

/*
 ********************************************************************************************************************
 * 其他寄存器的地址定义 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 错误计数器寄存器

/*
 ********************************************************************************************************************
 * 验收滤波器寄存器的地址定义 PeliCAN模式  注:只在复位模式下有效
 ********************************************************************************************************************
 */
#define         REG_CAN_ACR0      16            //验收代码0寄存器
#define         REG_CAN_ACR1      17            //验收代码1寄存器
#define         REG_CAN_ACR2      18            //验收代码2寄存器
#define         REG_CAN_ACR3      19            //验收代码3寄存器

#define         REG_CAN_AMR0      20            //验收屏蔽0寄存器
#define         REG_CAN_AMR1      21            //验收屏蔽1寄存器
#define         REG_CAN_AMR2      22            //验收屏蔽0寄存器
#define         REG_CAN_AMR3      23            //验收屏蔽1寄存器


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

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

/*
 ********************************************************************************************************************
 * 定义指针作为访问sja1000的控制
 ********************************************************************************************************************
 */
 unsigned   char    xdata   *SJA_CS_Point = &SJA_BaseAdr;

/*
 ********************************************************************************************************************
 * 定义标准帧或扩展帧的报文识别码的长度
 ********************************************************************************************************************
 */
#define		STD_FRAMEID_LENTH	  0x02
#define		EXT_FRAMEID_LENTH	  0x04


/*
 ********************************************************************************************************************
 * 定义sja1000帧格式的结构类型
 ********************************************************************************************************************
 */
 typedef	struct	{
			unsigned	char	FrameType;				//帧格式类型;0=标准帧;1=扩展帧;
			unsigned	char	RTRFlag;				//远程帧或数据帧标志;0=数据帧;1=远程帧;
			unsigned	char	DataLength;				//本次帧的数据dlc
			unsigned	long	FrameID;				//报文识别码
	} SJAFrameStruct ;
	
/*
 ********************************************************************************************************************
 * 定义sja1000标准帧或扩展帧的数据缓冲 联合
 ********************************************************************************************************************
 */ 
 typedef	union{
			unsigned	char	StdDataBuf[11];			//标准帧数据缓冲区
			unsigned	char	ExtDataBuf[13];			//扩展帧数据缓冲区
 }	SJAFrameDataBufUnion;

/*$page*/

/*
 ********************************************************************************************************************
 * 向sja1000某寄存器中的写入值
 ********************************************************************************************************************
 */
#define     WriteRawIO(RegAdr,Value)    *(SJA_CS_Point + RegAdr) = Value

/*
 ********************************************************************************************************************
 * 读取sja1000某寄存器中的值
 ********************************************************************************************************************
 */
#define     ReadRawIO(RegAdr)           *(SJA_CS_Point + RegAdr)

/*
 ********************************************************************************************************************
 *                          PeliCAN 模式 定义结束
 ********************************************************************************************************************
 */
#endif
 /*$page*/

⌨️ 快捷键说明

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