📄 sja1000_peli.h
字号:
/*--------------------------------------------------------------------------------------------------------
** 本库适合PELICAN模式 V1.3版
/*------------------------------------------------------------------------------------------------------*/
#include "SJA1000REG.H"
/*--------------------------------------------------------------------------------------------------------
** SJA1000与微处理器的接口是以外部存储器的方式,所以以下的基址定义,用户应根据自己的实际电路来进行调整
/*------------------------------------------------------------------------------------------------------*/
#ifdef _GLOBAL_SJA1000_PELI_
extern unsigned char xdata CAN_SJA_BaseAdr; //定义SJA1000的片选基址
extern unsigned char xdata *SJA_CS_Point;
#else
unsigned char xdata CAN_SJA_BaseAdr _at_ 0x6000; //定义SJA1000的片选基址
unsigned char xdata *SJA_CS_Point ; //指针指向空
#endif
/*--------------------------------------------------------------------------------------------------------
** 函数原型: 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 + -