/* @ 处根据实际情况填写相关信息,将@字符以及这条提示语句去掉 */ #ifndef CANTP_H #define CANTP_H /****************************************************************************** * Description: : Include File Section ******************************************************************************/ #include "CanSm.h" #include "CanTp_Cfg.h" /****************************************************************************** * Description: : Macro Description Section ******************************************************************************/ /****************************************************************************** * Description: : Structure Type Declaration Section ******************************************************************************/ typedef enum { CeCanTp_e_Empty = 0, CeCanTp_e_Full = 1, CeCanTp_e_SF_Full = 2, }TeCanTp_e_RxBufferSts; typedef enum { CeCanTp_e_Physical=0, CeCanTp_e_Functional, }TeCanTp_e_AddrMethod; typedef enum { CeCanTp_e_Idel = 0, CeCanTp_e_SF_Get, CeCanTp_e_MF_FFGet, CeCanTp_e_MF_CFTakein, CeCanTp_e_MF_Get, CeCanTp_e_Answer, }TeCanTp_e_TpSts; typedef enum { CeCanTp_e_TX_Idel = 0, CeCanTp_e_TX_FCWaiting, CeCanTp_e_TX_FCGet, CeCanTp_e_TX_CFGaving, }TeCanTp_e_MFTxSts; typedef enum { CeCanTp_e_As = 0, CeCanTp_e_Bs, CeCanTp_e_Cs, CeCanTp_e_Ar, CeCanTp_e_Br, CeCanTp_e_Cr, }TeCanTp_e_MFTimerSwitch; typedef enum { CeCanTp_e_Tx_Idle = 0, CeCanTp_e_Tx_Busy, }TeCanTp_e_TxSts; typedef enum { CeCanTp_e_Tx_Succeed = 0, CeCanTp_e_Tx_Wrong, }TeCanTp_e_TxResult; typedef enum { CeCanTp_e_S3_Start = 0, CeCanTp_e_S3_Stop, }TeCanTp_e_S3TimerSts; /****************************************************************************** * Description: : Global Variable Declaration Section ******************************************************************************/ /****************************************************************************** * Description: : Global Function Prototype Declaration ******************************************************************************/ extern uint8 GetCanTp_u_S3Sts(void);/* 读取S3 */ extern void MngCanTp_MainFunction(void);/* 主调度函数 */ extern void InitCanTp_Parameter(void);/* 初始化 */ extern TeCanTp_e_TxResult SetCanTp_TxBuffer(uint16 LeCanTp_p_DL, const uint8 LeCanTp_p_DataAddr[]);/* 发送函数 */ extern TeCanTp_e_TxResult SetCanTp_Tx_78Neg(uint16 LeCanTp_p_DL , const uint8 LeCanTp_p_DataAddr[]); extern void RxIndicationCanTP_AddrFunc_Message(CanIf_HwHandleType LeCanTp_e_Hrh, CanIf_CanIdType LeCanTp_e_CanId,CanIf_CanDlcType LeCanTp_e_CanDlc, const CanIf_CanDataType LeCanTp_e_CanSduPtr[]);/* 接收函数 */ extern void RxIndicationCanTP_AddrPhy_Message(CanIf_HwHandleType LeCanTp_e_Hrh, CanIf_CanIdType LeCanTp_e_CanId,CanIf_CanDlcType LeCanTp_e_CanDlc,const CanIf_CanDataType LeCanTp_e_CanSduPtr[]);/* 接收函数 */ extern TeCanTp_e_RxBufferSts GetCanTp_e_RxBufferSts(uint8* LeCanTp_p_AddrMethod , uint16* LeCanTp_p_DL , uint8** LeCanTp_p_DataAddr);/* 上层读取接收到得报文 */ #endif