代码如下:
/ *************
定义地址指针,指向基址
*********** /
uchar xdata *SJA_base_Adr = SJA_BaseAdr;
/ *************
定义
SJA1000
读写缓冲区的数据结构
*********** /
struct BASICCAN_BUFStruct{
uchar IDH8;
uchar IDL_R_DLC;
uchar Frame_Data[2];
}receive_BUF,send_BUF;
/ ****************************************************************
*
函数功能:写
SJA1000
的寄存器
*
入口参数:地址
SJAREG_ADR
,数据
setting
*
出口参数:无
**************************************************************** /
void Write_SJA1000( uchar SJAREG_ADR, uchar setting)
{
*(SJA_base_Adr+SJAREG_ADR)=setting;
}
/ ****************************************************************
*
函数功能:读
SJA1000
的寄存器
*
入口参数:地址
SJAREG_ADR
,数据
setting
*
出口参数:无
**************************************************************** /
uchar Read_SJA1000( uchar SJAREG_ADR)
{
uchar SJAREG_data;
SJAREG_data=*(SJA_base_Adr+SJAREG_ADR);
return(SJAREG_data);
}
/****************************************************************
*
函数功能:测试
SJA1000
是否正常连接
*
入口参数:无
*
出口参数:
connect_OK
****************************************************************/
bit Judge_SJA1000_connect(void)
{
bit connect_OK=0;
Write_SJA1000(REG_TEST,0xAA); //
写
AA
到测试寄存器(地址
09
)
if(Read_SJA1000(0x09)==0xAA)
{
connect_OK=1; //
连接正常
}
else
{
- 1
- 2
前往页