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

📄 sja100~1.h

📁 SMALLrtos下的CAN通信远码
💻 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 + -