Example #1
0
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);
	}

}
Example #2
0
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);
	  }

}