如上图所示,这是CCP的协议栈,包含头文件及源代码。
include里边包含所有与CCP相关的头文件。
1.Ccp_CAN_Driver.h
此文件主要包括和can驱动相关的宏定义,枚举,结构体及调用函数。
void MultiCAN_CCP_Init(void);
void MultiCAN_Messgage_send_CAN(uint8 data[],IfxMultican_Can_MsgObj canSrcMsgObj,uint32 id);
void MultiCAN_Messgage_read_CAN(IfxMultican_Message_app *msg_rx,IfxMultican_Can_MsgObj canDstMsgObj);
Can_ReturnType CCP_Can_Transmit(CAN_Instance instance,CAN_MessageBuffer Buffer, CAN_FrameType frameType,uint32 frameID,uint8 frameLength,uint8 Tx_Buffer[],CAN_Msg_Config Dummy);
void Can0RxISR(void);
void Can0TxISR(void);
CCP初始化函数,CAN发送/接收函数,CCP传递函数,CAN读写中断在此声明。函数体对应在Ccp_CAN_Driver.c文件中。
2.Ccp_Cfg.h
此头文件作为CCP的配置文件来使用。
对应源文件:Ccp_Cfg.c
#define MB_IDType_ST 0
#define CCP_CANID_TYPE MB_IDType_ST
#define CCP_DTO_ID (0x7E1)
#define CCP_CAN_RX_BUFNUM 1
#define CCP_CAN_TX_BUFNUM 0
#define CCP_CAN_MODULE 0
#define Ccp_DisableInterrupt() { __disable(); }
#define Ccp_EnableInterrupt() { __enable(); }
重点关注 CCP_DTO_ID 0x7E1
3.CCP…h
配合源文件 CCP.C来看,是整个CCP协议的核心,包含CCP协议的主要内容。
今天先到这里,后面继续。