📄 sja1000io.c
字号:
/*
********************************************************************************************************************
*描述: 独立的CAN 控制器SJA1000与硬件接口管理文件
*文件名: SJA1000IO.C
*应用语言: KEIL C51
*版本 : V1.01
*广州周立功单片机发展有限公司 保留所有的版权
********************************************************************************************************************
*/
#define _GLOBAL_SJA1000IO_
/*
************************************************************************************************************************
** 导入头文件
************************************************************************************************************************
*/
#include "SJA1000_PELI_APP.H"
/*
************************************************************************************************************************
**函数原型: char WriteSJARegBlock(unsigned char RegAdr,unsigned char *ValueBuf,
** unsigned char len)
**参数说明: ValueValueBuf 写入寄存器的值的存储器地址
** RegAdr 要写入sja1000的内部寄存器地址
** len 要写入sja1000内部寄存器的长度
**返回值: SJA_OK 写入正确
** !SJA_OK 写入不正确
**说明: 该函数用于将指定的数值写入sja1000的指定的寄存器
************************************************************************************************************************
*/
char WriteSJARegBlock(unsigned char RegAdr,unsigned char *ValueBuf,
unsigned char len)
{
unsigned char i;
if(len != 0){
for(i=0;i<len;i++){
// WriteRawIO(RegAdr+i,ValueBuf+i);
*(SJA_CS_Point + RegAdr+i) = *(ValueBuf+i);
}
}
return 0x00;
}
/*
************************************************************************************************************************
**函数原型: char ReadSJAReg(unsigned char RegAdr,unsigned char *ValueBuf,
** unsigned char len)
**参数说明: ValueValueBuf 存储读出寄存器的值的存储器地址
** RegAdr 要读的sja1000的内部寄存器地址
** len 要读出sja1000内部寄存器的长度
**返回值: SJA_OK 读出正确
** !SJA_OK 读出不正确
**说明: 该函数用于读出sja1000的指定的寄存器
************************************************************************************************************************
*/
char ReadSJARegBlock(unsigned char RegAdr,unsigned char *ValueBuf,
unsigned char len)
{
unsigned char i;
if(len != 0){
for(i=0;i<len;i++){
*(ValueBuf+i)=*(SJA_CS_Point + RegAdr+i);
}
}
return 0x00;
}
/*
************************************************************************************************************************
**函数原型: char WriteSJAReg(unsigned char RegAdr,unsigned char Value)
**参数说明: Value 写入寄存器的值
** RegAdr 要写入sja1000的内部寄存器地址
**返回值: SJA_OK 写入正确
** !SJA_OK 写入不正确
**说明: 该函数用于将指定的数值写入sja1000的指定的寄存器
************************************************************************************************************************
*/
char WriteSJAReg(unsigned char RegAdr,unsigned char Value)
{
*(SJA_CS_Point + RegAdr) = Value;
return 0x00;
}
/*
************************************************************************************************************************
**函数原型: unsigned char ReadSJAReg(unsigned char RegAdr)
**参数说明:
** RegAdr 要读的sja1000的内部寄存器地址
**返回值: reg的值
**说明: 该函数用于读出sja1000的指定的寄存器
************************************************************************************************************************
*/
unsigned char ReadSJAReg(unsigned char RegAdr)
{
return(*(SJA_CS_Point + RegAdr));
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -