📄 sja100~1.h
字号:
/*
********************************************************************************************************************
*描述: 独立的CAN 控制器SJA1000PeliCAN模式库文件使用头文件
*文件名: SJA1000_PELI_APP.H
*应用语言: KEIL C51
*版本 : V1.01
*广州周立功单片机发展有限公司 保留所有的版权
********************************************************************************************************************
*/
/*
********************************************************************************************************************
**预编译
********************************************************************************************************************
*/
#ifndef _SJA1000_PELI_APP_H
#define _SJA1000_PELI_APP_H
#ifndef _GLOBAL_SJA1000_PELI_APP_
#define GLOBAL_SJA1000_PELI_APP extern
#else
#define GLOBAL_SJA1000_PELI_APP
#endif
#ifndef _SJA_PELICAN_MODE_
#define _SJA_PELICAN_MODE_
#endif
/*
********************************************************************************************************************
*SJA1000与微处理器的接口是以外部存储器的方式,所以以下的基址定义,用户应根据自己的实际电路来进行调整
********************************************************************************************************************
*/
#ifdef _GLOBAL_SJA1000_PELI_APP_
unsigned char xdata CAN1_SJA_BaseAdr _at_ 0xfa00; // 定义CAN1sja1000的片选基址 0xfa00
unsigned char xdata CAN2_SJA_BaseAdr _at_ 0xfd00; // 定义CAN2sja1000的片选基址 0xfa00
/*
********************************************************************************************************************
* 定义指针作为访问sja1000的控制
********************************************************************************************************************
*/
unsigned char xdata *SJA_CS_Point ; //指针指向空
#else
GLOBAL_SJA1000_PELI_APP unsigned char xdata CAN1_SJA_BaseAdr; // 定义CAN1sja1000的片选基址 0xfa00
GLOBAL_SJA1000_PELI_APP unsigned char xdata CAN2_SJA_BaseAdr; // 定义CAN2sja1000的片选基址 0xfa00
GLOBAL_SJA1000_PELI_APP unsigned char xdata *SJA_CS_Point;
#endif
/*
********************************************************************************************************************
* 定义sja1000帧格式的结构类型
********************************************************************************************************************
*/
typedef struct {
unsigned char DataLength :4; //本次帧的数据dlc
unsigned char CanNumFlag :1;
unsigned char RTRFlag :1; //远程帧或数据帧标志;0=数据帧;1=远程帧;
unsigned char FrameType :1; //帧格式类型;0=标准帧;1=扩展帧;
unsigned long FrameID; //报文识别码
unsigned char Databuf[8];
} SJAFrameStruct, *P_SJAFrameStruct ;
/*
********************************************************************************************************************
* //usb-can数据帧数据结构
********************************************************************************************************************
*/
typedef struct _usbcanframestruct {
unsigned long Pt_TimeID;
unsigned char FrameInfoSta;
unsigned char ResverSta;
SJAFrameStruct ExtCANFrameStruct;
}UsbCanFrameStruct,*P_UsbCanFrameStruct;
#ifndef _GLOBAL_SJA1000_PELI_APP_
GLOBAL_SJA1000_PELI_APP UsbCanFrameStruct xdata UsbCanFrameStructAppBuf1[];
GLOBAL_SJA1000_PELI_APP UsbCanFrameStruct xdata UsbCanFrameStructAppBuf2[];
#else
GLOBAL_SJA1000_PELI_APP UsbCanFrameStruct xdata UsbCanFrameStructAppBuf1[13] ;
GLOBAL_SJA1000_PELI_APP UsbCanFrameStruct xdata UsbCanFrameStructAppBuf2[13] ;
#endif
GLOBAL_SJA1000_PELI_APP P_SJAFrameStruct xdata P_SJAFrameStructApp;
/*
********************************************************************************************************************
* 定义sja1000中断标志类型
********************************************************************************************************************
*/
typedef struct{
unsigned char RcvIntFlag :1;
unsigned char TsIntFlag :1;
unsigned char EiIntFlag :1;
unsigned char DoiIntFlag :1;
unsigned char WuiIntFlag :1;
unsigned char EpiIntFlag :1;
unsigned char AliIntFlag :1;
unsigned char BeiIntFlag :1;
}CAN_INT_FLAG,*P_CAN_INT_FLAG;
GLOBAL_SJA1000_PELI_APP CAN_INT_FLAG idata CanIntFlagApp;
GLOBAL_SJA1000_PELI_APP P_CAN_INT_FLAG P_CanIntFlagApp; //系统用
GLOBAL_SJA1000_PELI_APP P_CAN_INT_FLAG xdata P_Can1IntFlagApp; //CAN1专用
GLOBAL_SJA1000_PELI_APP P_CAN_INT_FLAG xdata P_Can2IntFlagApp; //CAN2专用
GLOBAL_SJA1000_PELI_APP unsigned char xdata BufCan1[256];
GLOBAL_SJA1000_PELI_APP unsigned char xdata BufCan2[256];
/*
************************************************************************************************************************
** 导入头文件
************************************************************************************************************************
*/
#include "SJA1000FUNC.H"
#include "SJA1000REG.H"
#include "SJA1000OS.H"
#include "SJA1000IO.H"
/*
********************************************************************************************************************
* SJA1000_PELI_APP定义结束
********************************************************************************************************************
*/
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -