Это код как раз для AT90CAN128 на передачу данных в настроенный канал(в данном случае первый). Вас непосредственно интересуют две последние строчки.
CODE
CANPAGE = (1 << 4);
CANIDT2 = (U8)(msg_id << 5);
CANIDT1 = (U8)(msg_id >> 3);
CANCDMOB = size;
if (NULL != data_p) {
if (DLC_MAX >= size) {
while (size--) {
CANMSG = *data_p++;
}
} else {
D_LOG_MDL(D_LOG_WARNING, "data overflow!");
return ERR_OVERFLOW;
}
}
CANSTMOB = 0;
while (HAL_BIT_CHECK(CANGSTA, TXBSY));
CANEN2 |= (1 << 1); /* channel 1 enable */
CANCDMOB |= CH_TxENA; /* emission enabled */
Если друг оказался вдруг и не друг и не враг, а - JTAG.