📄 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_
{
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 + -