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

📄 canapp.h

📁 基于LPC2119的CAN驱动及例子 循环发送实例程序 简单的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_
 {
	INT32U		WritePoint	:8;			//CAN的写指针
	INT32U		ReadPoint	:8;			//CAN的读指针
	INT32U		FullFlag	:8;			//CAN缓冲区满标志

	stcRxBUF	RcvBuf[USE_CAN_cycRCV_BUF_SIZE];
 }stcRcvCANCyBuf,*P_stcRcvCANCyBuf;


//应用环形缓冲区定义

CANAPP_GLOBAL	stcRcvCANCyBuf		CANRcvCyBufApp[2];
/*
***********************************************************************************************************
**函数原型		:  	void	InitCAN(eCANNUM CanNum)
**参数说明		:  	CanNum	-->>	CAN控制器,值不能大于CAN_MAX_NUM 规定的值
**返回值		:	无	
**说	明		:	本函数用于初始化CAN控制器
************************************************************************************************************/
CANAPP_GLOBAL	void	InitCAN(eCANNUM CanNum) ;
/*
***********************************************************************************************************
**函数原型		:  	void	ConfigAFReg ()
**参数说明		:  	
**返回值		:		
**说	明		:	本函数用于配置验收过滤器
************************************************************************************************************
*/
CANAPP_GLOBAL	void	ConfigAFReg (void);
/*
***********************************************************************************************************
**函数原型		:  	void	CANIntPrg(void)
**参数说明		:  	无
**返回值		:	无	
**说	明		:	CAN控制器中断处理函数
************************************************************************************************************/
CANAPP_GLOBAL	void	__irq CANIntPrg(void);	
/*
***********************************************************************************************************
**函数原型		:  	INT32U	WriteCanTxBuf(eCANNUM CanNum,INT32U TxBufNum,
										INT32U TPM,stcRcvCANCyBuf *RcvCyBuf) ;
**参数说明		:  	CanNum		-->>	CAN控制器,值不能大于CAN_MAX_NUM 规定的值
					TxBufNum	-->>	选择发送缓冲区
					TPM			-->>	发送优先级模式
					Buf			-->>	发送到总线的数据
**返回值		:	=0;成功将数据写入发送缓冲区
					!=0;写发送缓冲区操作失败	
**说	明		:	本函数用于向CAN发送缓冲区TxBUF写入发送数据
***********************************************************************************************************
*/
CANFUNC_GLOBAL	void	WriteCanTxBuf(eCANNUM CanNum,INT32U TxBufNum,INT32U TPM,stcTxBUF *RcvCyBuf);
/*
***********************************************************************************************************
**函数原型		:  	void	CANRxtoTxDataConvertion (void *desBuf, void *srcBuf )
**参数说明		:  	desBuf ->目的数据
					srcBuf  ->源数据
**返回值		:	
**说	明		:	
***********************************************************************************************************
*/
CANFUNC_GLOBAL	void	CANRxtoTxDataConvertion ( stcTxBUF *desBuf, const stcRxBUF *srcBuf );
/*
***********************************************************************************************************
**函数原型		:  	void	ReadCanRxBuf(eCANNUM CanNum,stcRcvCANCyBuf *RcvCyBuf)
**参数说明		:  	CanNum	-->>	CAN控制器,值不能大于CAN_MAX_NUM 规定的值
**					RcvCyBuf-->>	目标环形缓冲区指针
**返回值		:		
**说	明		:	本函数用于驱动将收到的CAN数据写入环形缓冲区Buf->CANRcvFS 	=CANRFS(CanNum);
	Buf->RxCANID 	=CANRID(CanNum);
	Buf->RDA		=CANRDA(CanNum);
	Buf->RDB		=CANRDB(CanNum);
************************************************************************************************************/
CANFUNC_GLOBAL	INT32U	ReadCanRxBuf(eCANNUM CanNum,stcRcvCANCyBuf *RcvCyBuf);
/*
***********************************************************************************************************
**函数原型		:  	INT32U	CANSendData(eCANNUM CanNum,INT32U Cmd,P_stcTxBUF Buf)
**参数说明		:  	CanNum	-->>	CAN控制器,值不能大于CAN_MAX_NUM 规定的值
					Cmd		-->>	发送命令字
					Buf		-->>	要发送的数据
**返回值		:	无	
**说	明		:	本函数用于将数据发送到CAN总线
************************************************************************************************************/
CANAPP_GLOBAL	INT32U	CANSendData(eCANNUM CanNum,INT32U Cmd, stcRxBUF *RxBuf);
/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/
#endif

⌨️ 快捷键说明

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