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

📄 sja100~2.h

📁 SMALLrtos下的CAN通信远码
💻 H
📖 第 1 页 / 共 2 页
字号:
/*
 ********************************************************************************************************************
 *描述:    独立的CAN 控制器SJA1000应用函数定义头文件
 *文件名:   SJA1000FUNC.H
 *应用语言: KEIL C51
 *版本 :    V1.01
 *广州周立功单片机发展有限公司 保留所有的版权
 ********************************************************************************************************************
 */
#ifndef		_SJA1000FUNC_H
#define		_SJA1000FUNC_H

 #ifndef	_GLOBAL_SJA1000FUNC_
 #define	 GLOBAL_SJA1000FUNC		extern
 #else
 #define	 GLOBAL_SJA1000FUNC
 #endif

 
/*
 ********************************************************************************************************************
 * 定义sja1000的公用函数(basicCAN  | PeliCAN)模式
 ********************************************************************************************************************
 */ 

/*
************************************************************************************************************************
**函数原型:     char   SJATestInterface(unsigned char  testvalue)
**参数说明:     Value  测试值
**返回值:
**              SJA_OK            ; 表示SJA1000接口正常
**              SJA_INTERFACE_ERR ; 表示SJA1000与处理器接口出错
**
**说明:         该函数用于检测CAN控制器的接口是否正常
************************************************************************************************************************
*/
GLOBAL_SJA1000FUNC	 char    SJATestInterface(unsigned char  testvalue);

/*
************************************************************************************************************************
**函数原型:  char   SJAEntryResetMode(void)
**参数说明:  无
**返回值:
**           SJA_OK             ; 表示SJA1000进入复位模式成功
**           SJA_ENTRYRESET_ERR ; 表示SJA1000进入复位模式失败
**
**说明:     该函数用于使sja1000进入复位模式
************************************************************************************************************************
*/
GLOBAL_SJA1000FUNC	char   SJAEntryResetMode(void);

/*
************************************************************************************************************************
**函数原型:  char   SJAQuitResetMode(void)
**参数说明:  无
**返回值:
**           SJA_OK             ; 表示SJA1000退出复位模式成功
**           SJA_QUITRESET_ERR  ; 表示SJA1000退出复位模式失败
**
**说明:     该函数用于使sja1000退出复位模式,进入工作模式
************************************************************************************************************************
*/
GLOBAL_SJA1000FUNC	char   SJAQuitResetMode(void);

/*
************************************************************************************************************************
**函数原型:  char  SetBitMask(unsigned char RegAdr,unsigned char BitValue)
**参数说明:  RegAdr     要设置位的寄存器地址
**           BitValue   要设置的值
**返回值:
**           SJA_OK       ; 表示设置值 成功
**           SJA_INIT_ERR ; 表示设置值 失败
**
**说明:     该函数用于置位sja1000某寄存器的某位
************************************************************************************************************************
*/
GLOBAL_SJA1000FUNC	char  SetBitMask(unsigned char RegAdr,unsigned char BitValue);

/*
************************************************************************************************************************
**函数原型:  char  ClearBitMask(unsigned char RegAdr,unsigned char BitValue)
**参数说明:  RegAdr     要清除位的寄存器地址
**           BitValue   要清除的值
**返回值:
**           SJA_OK       ; 表示位清除 成功
**           SJA_INIT_ERR ; 表示位清除 失败
**
**说明:     该函数用于清除sja1000某寄存器的某位
************************************************************************************************************************
*/
GLOBAL_SJA1000FUNC	char  ClearBitMask(unsigned char RegAdr,unsigned char BitValue);

/*
************************************************************************************************************************
**函数原型:  char   SJATestRstMode(void)
**参数说明:  无
**返回值:
**           0   ; 表示SJA1000处于复位模式
**           1   ; 表示SJA1000处于工作模式
**
**说明:     该函数用于测试SJA1000 处于复位模式还是工作模式
************************************************************************************************************************
*/
GLOBAL_SJA1000FUNC	char   SJATestRstMode(void);

/*
************************************************************************************************************************
**函数原型:  char	SJASetBandRateStandard(unsigned char	BandRateSize)
**参数说明:  BandRateSize		  标准常用波特率(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		  
**返回值:		
**           0					  ; 设置总线定时器成功
**			 SJA_SETBTR_ERR		  ; 设置总线定时器错
**			 SJA_NOBTRSIZE		  ;波特率不能设为此值
**
**说明:     该函数用于设定在系统晶体为16MHZ时,常用的标准波特率的值。
**			参数BandRateSize只能为0~14,其它的值会返回SJA_NOBTRSIZE错误
**			本函数只能用于复位模式
************************************************************************************************************************
*/
GLOBAL_SJA1000FUNC	char	SJASetBandRateStandard(unsigned char	BandRateSize);

/*
************************************************************************************************************************
**函数原型:  char	SJASystemPrgCMD(unsigned char cmd)
**参数说明:  cmd	SJA1000 的PeliCAN 工作方式命令字
**返回值:		
**           0				  ; 表示命令执行成功
**			 SJA_IMPCMD_ERR	  ; 表示命令执行出错
**			 SJA_NOTHISCMD    ; 没有此命令
**
**说明:     该函数用于执行sja1000的命令
************************************************************************************************************************
*/
GLOBAL_SJA1000FUNC	char	SJASystemPrgCMD(unsigned char cmd);

/*
************************************************************************************************************************
**函数原型:  char		SJASetClockDivision(unsigned	char  clockdiv)
**参数说明:  clockdiv	时钟分频寄存器的设定值
**返回值:		
**           0				    ; 设置时钟分频寄存器成功
**			 SJA_SETCDR_ERR		; 设置时钟分频寄存器错
**			 SJA_NOTRSTMODE     ; sja1000不在复位模式
**
**说明:     该函数用于设定sja1000的时钟分频寄存器
************************************************************************************************************************
*/
GLOBAL_SJA1000FUNC	char		SJASetClockDivision(unsigned	char  clockdiv);
/*
************************************************************************************************************************
**函数原型:  char		SJASetOutControl(unsigned char	OutCtrl)
**参数说明:  OutCtrl	输出控制寄存器的设定值
**返回值:		
**           0				    ; 设置输出控制寄存器成功
**			 SJA_SETOCR_ERR		; 设置输出控制寄存器错
**			 SJA_NOTRSTMODE     ; sja1000不在复位模式
**
**说明:     该函数用于设定sja1000的输出控制
************************************************************************************************************************
*/
GLOBAL_SJA1000FUNC	char		SJASetOutControl(unsigned char	OutCtrl);



/*
************************************************************************************************************************
**函数原型:  char	SJAWriteDataToTxBuf(unsigned	char	*databuf,unsigned	char	len)
**										
**参数说明:  databuf	写数据缓冲区首地址
**			 len		写长度
**返回值:		
**           0				  ; 表示将数据成功的写到到sja1000的发送缓冲区
**			 SJA_TXBUFLOCK	  ; sja1000发送缓冲区锁定
**			 
**           SJA_WTXBUF_ERR   ; 表示写数据失败
**
**说明:     该函数用于将要发送到总线的特定帧格式的数据写入sja1000的发送缓冲区
************************************************************************************************************************

GLOBAL_SJA1000FUNC	char	SJAWriteDataToTxBuf(unsigned	char	*databuf,unsigned	char	len);


/*
************************************************************************************************************************
**函数原型:  char	SJAReadDataFromRxBuf((unsigned char *databuf,unsigned	char	len)

⌨️ 快捷键说明

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