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

📄 canapp.h

📁 基于ARM及CAN总线的源码
💻 H
字号:
/****************************************Copyright (c)**************************************************
**                               广州周立功单片机发展有限公司
**                                     研    究    所
**                                        产品一部 
**                                 http://www.zlgmcu.com
**-----------------------------------------------------------文件信息--------------------------------------------------------------------------------
**	文   件  	名:	CANAPP.H
** 	版  		本:	v1.0
** 	日		期:	2004年2月23日
**	描		述:	CAN模块应用接口函数定义头文件。
********************************************************************************************************/
#ifndef		_CANAPP_H_
#define		_CANAPP_H_
#ifndef		_CANAPP_GLOBAL_
#define		CANAPP_GLOBAL		extern
#else
#define		CANAPP_GLOBAL	
#endif
//数据类型定义
/**********************************************************************************************************
**	在本驱动里应用一个接收环形缓冲区,来存放接收到的邋錍AN数据数据,环形缓冲区的大小在CUSTOM.H中定义,下
**	面是环形缓冲区的数据结构
************************************************************************************************************/
typedef	struct	_RcvCANDataCycleBuf_
 {
	UINT32		WritePoint1	:8;			//CAN1的写指针
	UINT32		WritePoint2	:8;
	UINT32		WritePoint3	:8;
	UINT32		WritePoint4	:8;

	UINT32		ReadPoint1	:8;			//CAN1的读指针
	UINT32		ReadPoint2	:8;
	UINT32		ReadPoint3	:8;
	UINT32		ReadPoint4	:8;

	UINT32		FullFlag1	:8;			//CAN1缓冲区满标志
	UINT32		FullFlag2	:8;
	UINT32		FullFlag3	:8;
	UINT32		FullFlag4	:8;

	stcRxBUF	RcvBuf[CAN_MAX_NUM][USE_CAN_RCV_BUF_SIZE];
 }stcRcvCANCyBuf,*P_stcRcvCANCyBuf;


//应用环形缓冲区定义
CANAPP_GLOBAL	stcRcvCANCyBuf		CANRcvBufApp;
//应用常量定义
CANAPP_GLOBAL	const 	UINT32	USE_MOD_CAN[CAN_MAX_NUM];
CANAPP_GLOBAL	const	UINT32	USE_EWL_CAN[CAN_MAX_NUM];
CANAPP_GLOBAL	const 	UINT32	USE_INT_CAN[CAN_MAX_NUM];
CANAPP_GLOBAL	const 	UINT32	USE_TPM_CAN[CAN_MAX_NUM]; 
CANAPP_GLOBAL	const 	UINT32	USE_BTR_CAN[CAN_MAX_NUM]; 
CANAPP_GLOBAL	const 	UINT32	USE_SLP_MOD_CAN[CAN_MAX_NUM]; 
/*
***********************************************************************************************************
**函数原型	:  	void	InitCAN(eCANNUM CanNum)
**参数说明	:  	CanNum	-->>	CAN控制器,值不能大于CAN_MAX_NUM 规定的值
**返回值		:	无	
**说	明		:	本函数用于初始化CAN控制器
************************************************************************************************************/
CANAPP_GLOBAL	void	InitCAN(eCANNUM CanNum) ;
/*
***********************************************************************************************************
**函数原型	:  	UINT32	CANSendData(eCANNUM CanNum,UINT32 Cmd,P_stcTxBUF Buf)
**参数说明	:  	CanNum	-->>	CAN控制器,值不能大于CAN_MAX_NUM 规定的值
				Cmd		à>	发送命令字
				Buf		à>	要发送的数据
**返回值		:	无	
**说	明		:	本函数用于将数据发送到CAN总线
************************************************************************************************************/
CANAPP_GLOBAL	UINT32	CANSendData(eCANNUM CanNum,UINT32 Cmd,P_stcTxBUF Buf);
/*
***********************************************************************************************************
**函数原型	:  	void	CANIntPrg(void)
**参数说明	:  	无
**返回值		:	无	
**说	明		:	CAN控制器中断处理函数
************************************************************************************************************/
CANAPP_GLOBAL	__irq 	void	CANIntPrg(void);
/*
***********************************************************************************************************
**函数原型	:  	UINT32	ReadCANRcvCyBuf(eCANNUM CanNum,stcRxBUF *Buf)
**参数说明	:  	CanNum	-->>	CAN控制器,值不能大于CAN_MAX_NUM 规定的值
				Buf		à>	使用驱动接收到的缓冲区数据
**返回值		:	=0,驱动接收到数据。
				!=0,驱动没接收到数据。	
**说	明		:	本函数用于用户调用使用CAN驱动接收到的数据。
************************************************************************************************************/
CANAPP_GLOBAL	UINT32	ReadCANRcvCyBuf(eCANNUM CanNum,stcRxBUF *Buf);
/*
***********************************************************************************************************
**函数原型	:  	void	WriteCANRcvCyBuf(eCANNUM CanNum)
**参数说明	:  	CanNum	-->>	CAN控制器,值不能大于CAN_MAX_NUM 规定的值
**返回值		:		
**说	明		:	本函数用于驱动将收到的CAN数据写入环形缓冲区
************************************************************************************************************/
CANAPP_GLOBAL	 void	WriteCANRcvCyBuf(eCANNUM CanNum);
#endif
/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -