📄 canapp.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 + -