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

📄 sja1000_peli.h

📁 基于SJA1000和STC89C54的CAN转RS232透明数据传输
💻 H
字号:
/*--------------------------------------------------------------------------------------------------------
** 本库适合PELICAN模式 V1.3版 
/*------------------------------------------------------------------------------------------------------*/

#include    "SJA1000REG.H"

/*--------------------------------------------------------------------------------------------------------
** SJA1000与微处理器的接口是以外部存储器的方式,所以以下的基址定义,用户应根据自己的实际电路来进行调整  
/*------------------------------------------------------------------------------------------------------*/
#ifdef		_GLOBAL_SJA1000_PELI_
extern		unsigned    char    pdata   CAN_SJA_BaseAdr;    			//定义SJA1000的片选基址
extern  	unsigned    char    pdata   *SJA_CS_Point;
#else
unsigned    char	pdata	CAN_SJA_BaseAdr	_at_ 0x00;      			//定义SJA1000的片选基址
unsigned   	char    pdata   *SJA_CS_Point ; 							//指针指向空
#endif
//SJA_CS_Point=&CAN_SJA_BaseAdr;										//此句要加入用户的应用程序中
/*--------------------------------------------------------------------------------------------------------
** 函数原型:	unsigned char  ClrBitMask(unsigned char RegAdr,unsigned char BitValue)
** 功能描述:	该函数用于清除sja1000某寄存器的某位
** 参数说明:	RegAdr		要清除位的寄存器地址
**				BitValue   	要清除的值
** 返回值:    	1			表示位清除成功
**				0			表示位清除失败
** 全局变量:
** 调用模块:
** 作 者:
** 日 期:
/*------------------------------------------------------------------------------------------------------*/
extern unsigned char  ClrBitMask(unsigned char RegAdr,unsigned char BitValue);

/*--------------------------------------------------------------------------------------------------------
** 函数原型:	unsigned char  SetBitMask(unsigned char RegAdr,unsigned char BitValue)
** 功能描述:	该函数用于置位sja1000某寄存器的某位
** 参数说明:	RegAdr     	要设置位的寄存器地址 
**				BitValue   	要设置的值                                                        
** 返回值:    	1			表示成功
**				0			表示失败
** 全局变量:
** 调用模块:
** 作 者:
** 日 期:
/*------------------------------------------------------------------------------------------------------*/
extern unsigned char  SetBitMask(unsigned char RegAdr,unsigned char BitValue);

/*--------------------------------------------------------------------------------------------------------
** 函数原型:	unsigned char   ReadSJAReg(unsigned char RegAdr)
** 功能描述:	该函数用于读出sja1000的指定的寄存器
** 参数说明:	RegAdr	要读的sja1000的内部寄存器地址                                     
** 返回值:    	内部寄存器Reg的值
** 全局变量:
** 调用模块:
** 作 者:
** 日 期:
/*------------------------------------------------------------------------------------------------------*/
extern unsigned char	ReadSJAReg(unsigned char RegAdr);

/*--------------------------------------------------------------------------------------------------------
** 函数原型:	unsigned char   WriteSJAReg(unsigned char RegAdr,unsigned char  Value)
** 功能描述:	该函数用于将指定的数值写入sja1000的指定的寄存器
** 参数说明:	RegAdr		要读的sja1000的内部寄存器地址 
**				Value  		写入寄存器的值                                             
** 返回值:    	1			写入正确
**				0			写入不正确
** 全局变量:
** 调用模块:
** 作 者:
** 日 期:
/*------------------------------------------------------------------------------------------------------*/
extern unsigned char	WriteSJAReg(unsigned char RegAdr,unsigned char Value);

/*--------------------------------------------------------------------------------------------------------
** 函数原型:	unsigned char ReadSJARegBlock(unsigned char RegAdr,unsigned char *ValueBuf,unsigned char len)
** 功能描述:	该函数用	于将指定的数值写入sja1000的指定的寄存器
** 参数说明:	RegAdr		要读的sja1000的内部寄存器地址 
**				ValueBuf	要存储读出寄存器的值的存储器地址
**              len			要读出sja1000内部寄存器的长度                     
** 返回值:    	1			读出正确
**				0			读出不正确
** 全局变量:
** 调用模块:
** 作 者:
** 日 期:
/*------------------------------------------------------------------------------------------------------*/
extern unsigned char   ReadSJARegBlock(unsigned char RegAdr,unsigned char *ValueBuf,unsigned char len);

/*--------------------------------------------------------------------------------------------------------
** 函数原型:	unsigned char   WriteSJARegBlock(unsigned char RegAdr,unsigned char  *ValueBuf,unsigned char len)
** 功能描述:	该函数用于将指定的数值写入sja1000的指定的寄存器
** 参数说明:	RegAdr		要写入的sja1000的内部寄存器地址 
**				ValueBuf	要写入寄存器的值的存储器地址 
**              len			要写入sja1000内部寄存器的长度                         
** 返回值:    	1			写入正确
**				0			写入不正确
** 全局变量:
** 调用模块:
** 作 者:
** 日 期:
/*------------------------------------------------------------------------------------------------------*/
extern unsigned char   WriteSJARegBlock(unsigned char RegAdr,unsigned char *ValueBuf,unsigned char len);

/*--------------------------------------------------------------------------------------------------------
** 函数原型:	unsigned char   SJAEntryResetMode(void)
** 功能描述:	该函数用于使sja1000进入复位模式
** 参数说明:	无                                                         
** 返回值:    	1			表示SJA1000进入复位模式成功
**				0			表示SJA1000进入复位模式失败
** 全局变量:
** 调用模块:
** 作 者:
** 日 期:
/*------------------------------------------------------------------------------------------------------*/
extern unsigned char   SJAEntryResetMode(void);

/*--------------------------------------------------------------------------------------------------------
** 函数原型:	unsigned char   SJAQuitResetMode(void)
** 功能描述:	该函数用于使sja1000退出复位模式,进入工作模式
** 参数说明:	无                                                         
** 返回值:    	1			表示SJA1000退出复位模式成功
**				0			表示SJA1000退出复位模式失败
** 全局变量:
** 调用模块:
** 作 者:
** 日 期:
/*------------------------------------------------------------------------------------------------------*/
unsigned char   SJAQuitResetMode(void);

/*--------------------------------------------------------------------------------------------------------
** 函数原型:	unsigned char	SJASetBaudrateStandard(void)
** 功能描述:    该函数用于设定在系统晶振为16MHZ时,常用的标准波特率的值。
**				参数BaudrateSize只能为0~14。
**				本函数只能用于复位模式。
** 参数说明:  	BaudrateSize	标准常用波特率(Kbps)          
**				0				5
**				1				10
**				2				20
**				3				40
**				4				50
**				5				80
**				6				100
**				7				125
**				8				200
**				9				250
**				10				400
**				11				500
**				12				666
**				13				800
**				14				1000		  
** 返回值:    	1			设置总线定时器成功
**				0			设置总线定时器错失败
** 全局变量:
** 调用模块:
** 作 者:
** 日 期:
/*------------------------------------------------------------------------------------------------------*/
extern unsigned char	SJASetBaudrateStandard(unsigned char CAN_ByteRate);


/*--------------------------------------------------------------------------------------------------------
** 函数原型:	unsigned char	SENDSJADATA(unsigned char *SEND_BUFFER,unsigned char len)
** 功能描述:	该函数用于将用户定义的数据写入SJA1000发送缓冲区,再将其发送到总线上。
** 参数说明:	*SEND_BUFFER	要发送的数据的首地址 
				len             要发送的数据长度                    
** 返回值:    	1				写入SJA1000发送缓冲区成功
				0				写入SJA1000发送缓冲区失败
** 全局变量:
** 调用模块:
** 作 者:
** 日 期:
/*------------------------------------------------------------------------------------------------------*/
extern unsigned char	SENDSJADATA(unsigned char *SEND_BUFFER,unsigned char len);

/*--------------------------------------------------------------------------------------------------------
** 函数原型:	unsigned char	REVSJADATA(unsigned char *REV_BUFFER,unsigned char len)
** 功能描述:	该函数用于将接收到的数据存放到用户定义的区间,并释放SJA1000接收缓冲区
** 参数说明:	*REV_BUFFER		要存储数据的首地址 
				len				要接收的数据长度                                 
** 返回值:    	1				将接收数据写入用户存储空间成功
				0				将接收数据写入用户存储空间失败
** 全局变量:
** 调用模块:
** 作 者:
** 日 期:
/*------------------------------------------------------------------------------------------------------*/
extern unsigned char	REVSJADATA(unsigned char *REV_BUFFER,unsigned char len);

⌨️ 快捷键说明

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