Example #1
0
void CANIntHandler(void)
{
  u32 status = CANIntStatus(CAN0_BASE, CAN_INT_STS_CAUSE);

  if(status == CAN_INT_INTID_STATUS)
  {
    status = MAP_CANStatusGet(CAN0_BASE, CAN_STS_CONTROL);
    can_err_flag = 1;
    can_tx_flag = 0;
  }
  else if( status == CAN_MSG_OBJ_RX ) // Message receive
  {
    MAP_CANIntClear(CAN0_BASE, CAN_MSG_OBJ_RX);
    can_rx_flag = 1;
    can_err_flag = 0;
  }
  else if( status == CAN_MSG_OBJ_TX ) // Message send
  {
    MAP_CANIntClear(CAN0_BASE, CAN_MSG_OBJ_TX);
    can_tx_flag = 0;
    can_err_flag = 0;
  }
  else
    MAP_CANIntClear(CAN0_BASE, status);
}
Example #2
0
uint32_t CANController::getMobEnabledRegister()
{
	return MAP_CANStatusGet(_base, CAN_STS_MSGVAL);
}
Example #3
0
uint32_t CANController::getNewDataRegister()
{
	return MAP_CANStatusGet(_base, CAN_STS_NEWDAT);
}
Example #4
0
uint32_t CANController::getTxRequestRegister()
{
	return MAP_CANStatusGet(_base, CAN_STS_TXREQUEST);
}
Example #5
0
uint32_t CANController::getControlRegister()
{
	return MAP_CANStatusGet(_base, CAN_STS_CONTROL);
}