?? canapp.h
字號:
/****************************************Copyright (c)**************************************************
** 廣州周立功單片機發(fā)展有限公司
** 研 究 所
** 產(chǎn)品一部
** http://www.zlgmcu.com
**-----------------------------------------------------------文件信息--------------------------------------------------------------------------------
** 文 件 名: CANAPP.H
** 版 本: v1.0
** 日 期: 2004年2月23日
** 描 述: CAN模塊應(yīng)用接口函數(shù)定義頭文件。
********************************************************************************************************/
#ifndef _CANAPP_H_
#define _CANAPP_H_
#ifndef _CANAPP_GLOBAL_
#define CANAPP_GLOBAL extern
#else
#define CANAPP_GLOBAL
#endif
//數(shù)據(jù)類型定義
/**********************************************************************************************************
** 在本驅(qū)動里應(yīng)用一個接收環(huán)形緩沖區(qū),來存放接收到的邋錍AN數(shù)據(jù)數(shù)據(jù),環(huán)形緩沖區(qū)的大小在CUSTOM.H中定義,下
** 面是環(huán)形緩沖區(qū)的數(shù)據(jù)結(jié)構(gòu)
************************************************************************************************************/
typedef struct _RcvCANDataCycleBuf_
{
INT32U WritePoint :8; //CAN的寫指針
INT32U ReadPoint :8; //CAN的讀指針
INT32U FullFlag :8; //CAN緩沖區(qū)滿標(biāo)志
stcRxBUF RcvBuf[USE_CAN_cycRCV_BUF_SIZE];
}stcRcvCANCyBuf,*P_stcRcvCANCyBuf;
//應(yīng)用環(huán)形緩沖區(qū)定義
CANAPP_GLOBAL stcRcvCANCyBuf CANRcvCyBufApp[2];
/*
***********************************************************************************************************
**函數(shù)原型 : void InitCAN(eCANNUM CanNum)
**參數(shù)說明 : CanNum -->> CAN控制器,值不能大于CAN_MAX_NUM 規(guī)定的值
**返回值 : 無
**說 明 : 本函數(shù)用于初始化CAN控制器
************************************************************************************************************/
CANAPP_GLOBAL void InitCAN(eCANNUM CanNum) ;
/*
***********************************************************************************************************
**函數(shù)原型 : void ConfigAFReg ()
**參數(shù)說明 :
**返回值 :
**說 明 : 本函數(shù)用于配置驗收過濾器
************************************************************************************************************
*/
CANAPP_GLOBAL void ConfigAFReg (void);
/*
***********************************************************************************************************
**函數(shù)原型 : void CANIntPrg(void)
**參數(shù)說明 : 無
**返回值 : 無
**說 明 : CAN控制器中斷處理函數(shù)
************************************************************************************************************/
CANAPP_GLOBAL void __irq CANIntPrg(void);
/*
***********************************************************************************************************
**函數(shù)原型 : INT32U WriteCanTxBuf(eCANNUM CanNum,INT32U TxBufNum,
INT32U TPM,stcRcvCANCyBuf *RcvCyBuf) ;
**參數(shù)說明 : CanNum -->> CAN控制器,值不能大于CAN_MAX_NUM 規(guī)定的值
TxBufNum -->> 選擇發(fā)送緩沖區(qū)
TPM -->> 發(fā)送優(yōu)先級模式
Buf -->> 發(fā)送到總線的數(shù)據(jù)
**返回值 : =0;成功將數(shù)據(jù)寫入發(fā)送緩沖區(qū)
!=0;寫發(fā)送緩沖區(qū)操作失敗
**說 明 : 本函數(shù)用于向CAN發(fā)送緩沖區(qū)TxBUF寫入發(fā)送數(shù)據(jù)
***********************************************************************************************************
*/
CANFUNC_GLOBAL void WriteCanTxBuf(eCANNUM CanNum,INT32U TxBufNum,INT32U TPM,stcTxBUF *RcvCyBuf);
/*
***********************************************************************************************************
**函數(shù)原型 : void CANRxtoTxDataConvertion (void *desBuf, void *srcBuf )
**參數(shù)說明 : desBuf ->目的數(shù)據(jù)
srcBuf ->源數(shù)據(jù)
**返回值 :
**說 明 :
***********************************************************************************************************
*/
CANFUNC_GLOBAL void CANRxtoTxDataConvertion ( stcTxBUF *desBuf, const stcRxBUF *srcBuf );
/*
***********************************************************************************************************
**函數(shù)原型 : void ReadCanRxBuf(eCANNUM CanNum,stcRcvCANCyBuf *RcvCyBuf)
**參數(shù)說明 : CanNum -->> CAN控制器,值不能大于CAN_MAX_NUM 規(guī)定的值
** RcvCyBuf-->> 目標(biāo)環(huán)形緩沖區(qū)指針
**返回值 :
**說 明 : 本函數(shù)用于驅(qū)動將收到的CAN數(shù)據(jù)寫入環(huán)形緩沖區(qū)Buf->CANRcvFS =CANRFS(CanNum);
Buf->RxCANID =CANRID(CanNum);
Buf->RDA =CANRDA(CanNum);
Buf->RDB =CANRDB(CanNum);
************************************************************************************************************/
CANFUNC_GLOBAL INT32U ReadCanRxBuf(eCANNUM CanNum,stcRcvCANCyBuf *RcvCyBuf);
/*
***********************************************************************************************************
**函數(shù)原型 : INT32U CANSendData(eCANNUM CanNum,INT32U Cmd,P_stcTxBUF Buf)
**參數(shù)說明 : CanNum -->> CAN控制器,值不能大于CAN_MAX_NUM 規(guī)定的值
Cmd -->> 發(fā)送命令字
**返回值 : 無
**說 明 : 本函數(shù)用于將數(shù)據(jù)發(fā)送到CAN總線
************************************************************************************************************/
CANAPP_GLOBAL INT32U CANSendData(eCANNUM CanNum,INT32U Cmd, stcRxBUF *RxBuf);
/*********************************************************************************************************
** End Of File
********************************************************************************************************/
#endif
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -