Description
Source
Call Graph
Start Line: 493
unsigned char CAN_Write(CanTransfer *pTransfer)
{
AT91PS_CAN base_can;
if (pTransfer->state == CAN_RECEIVING) {
pTransfer->state = CAN_IDLE;
}
if (pTransfer->state != CAN_IDLE) {
return CAN_STATUS_LOCKED;
}
TRACE_DEBUG("CAN_Write\n\r");
pTransfer->state = CAN_SENDING;
if( pTransfer->can_number == 0 ) {
base_can = AT91C_BASE_CAN0;
}
#ifdef AT91C_BASE_CAN1
else {
base_can = AT91C_BASE_CAN1;
}
#endif
base_can->CAN_TCR = pTransfer->mailbox_in_use;
base_can->CAN_IER = pTransfer->mailbox_in_use;
return CAN_STATUS_SUCCESS;
}