Сконнектил два процессора на SAM7X по CAN: все работает. Теперь начал реализовывать механизм прерывания передачи - не получается - в чем траблы:
if (10 == cnt_CAN)
{
AT91F_CAN_CfgMessageModeReg(AT91C_BASE_CAN_MB0,AT91C_CAN_MOT_TX);
// Ask Transmission on Mailbox 0
AT91F_CAN_InitTransferRequest(AT91C_BASE_CAN,AT91C_CAN_MB0);
// Enable Transmission Mailbox 0 interrupt
AT91F_CAN_EnableIt(AT91C_BASE_CAN,AT91C_CAN_MB0);
}else
if (20 <= cnt_CAN)
{
cnt_CAN = 0;
if (~(AT91F_CAN_GetMessageStatus(AT91C_BASE_CAN_MB0) & AT91C_CAN_MRDY))
{
AT91F_CAN_CfgMessageCtrlReg(AT91C_BASE_CAN_MB0,AT91C_CAN_MACR);
AT91F_CAN_InitAbortRequest(AT91C_BASE_CAN,AT91C_CAN_MB0);
AT91F_CAN_CfgMessageModeReg(AT91C_BASE_CAN_MB0,AT91C_CAN_MOT_DIS);
}
}