void can_receive(void) { if(CAN001_GetMOFlagStatus(&CAN001_Handle0,1,RECEIVE_PENDING)== CAN_SET) { CAN001_ClearMOFlagStatus(&CAN001_Handle0,1,RECEIVE_PENDING); CAN001_ReadMsgObj(&CAN001_Handle0,&CanRecMsgObj,1); CAN001_UpdateMODataRegisters(&CAN001_Handle0,2,8,CanRecMsgObj.data); CAN001_SendDataFrame(&CAN001_Handle0,2); } }
//if multi thread call this function, must think... void myCAN1_Send(uint8_t msgbox,uint8_t* buf,uint8_t len) { CAN001_UpdateMODataRegisters(&CAN001_Handle1,msgbox,len,buf); CAN001_SendDataFrame(&CAN001_Handle1,msgbox); }