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); } }
void EventHandlerCAN0() { /* if(CAN001_GetMOFlagStatus(&CAN001_Handle0,1,TRANSMIT_PENDING) == CAN_SET) { CAN001_ClearMOFlagStatus(&CAN001_Handle0,1,TRANSMIT_PENDING); } if(CAN001_GetMOFlagStatus(&CAN001_Handle0,2,TRANSMIT_PENDING) == CAN_SET) { CAN001_ClearMOFlagStatus(&CAN001_Handle0,2,TRANSMIT_PENDING); } if(CAN001_GetMOFlagStatus(&CAN001_Handle0,3,TRANSMIT_PENDING) == CAN_SET) { CAN001_ClearMOFlagStatus(&CAN001_Handle0,3,TRANSMIT_PENDING); } if(CAN001_GetMOFlagStatus(&CAN001_Handle0,4,TRANSMIT_PENDING) == CAN_SET) { CAN001_ClearMOFlagStatus(&CAN001_Handle0,4,TRANSMIT_PENDING); } */ if(CAN001_GetMOFlagStatus(&CAN001_Handle0,5,RECEIVE_PENDING) == CAN_SET) { CAN001_ClearMOFlagStatus(&CAN001_Handle0,5,RECEIVE_PENDING); CAN001_ReadMsgObj(&CAN001_Handle0,&can0rx.buf[can0rx.WritePos],5); can0rx.WritePos++; can0rx.WritePos&=(MAXLINE-1); osSemaphoreRelease(can0rx_semaphore_id); } if(CAN001_GetMOFlagStatus(&CAN001_Handle0,6,RECEIVE_PENDING) == CAN_SET) { CAN001_ClearMOFlagStatus(&CAN001_Handle0,6,RECEIVE_PENDING); CAN001_ReadMsgObj(&CAN001_Handle0,&can0rx.buf[can0rx.WritePos],6); can0rx.WritePos++; can0rx.WritePos&=(MAXLINE-1); osSemaphoreRelease(can0rx_semaphore_id); } if(CAN001_GetMOFlagStatus(&CAN001_Handle0,7,RECEIVE_PENDING) == CAN_SET) { CAN001_ClearMOFlagStatus(&CAN001_Handle0,7,RECEIVE_PENDING); CAN001_ReadMsgObj(&CAN001_Handle0,&can0rx.buf[can0rx.WritePos],7); can0rx.WritePos++; can0rx.WritePos&=(MAXLINE-1); osSemaphoreRelease(can0rx_semaphore_id); } if(CAN001_GetMOFlagStatus(&CAN001_Handle0,8,RECEIVE_PENDING) == CAN_SET) { CAN001_ClearMOFlagStatus(&CAN001_Handle0,8,RECEIVE_PENDING); CAN001_ReadMsgObj(&CAN001_Handle0,&can0rx.buf[can0rx.WritePos],8); can0rx.WritePos++; can0rx.WritePos&=(MAXLINE-1); osSemaphoreRelease(can0rx_semaphore_id); } if(CAN001_GetNodeFlagStatus(&CAN001_Handle0,CAN001_ALERT_STATUS) == CAN_SET) { CAN001_ClearNodeFlagStatus(&CAN001_Handle0,CAN001_ALERT_STATUS); } }