hallo,
ich habe die gleiche Initialisation gemacht
DWORD CAN_Init( DWORD can_btr )
{
PCONP |= (1 << 13) | (1 << 14); // Enable clock to the peripheral
PINSEL0 &= ~0x00000F0F;
PINSEL0 |= 0x0000A05; // port0.0~1, function 0x01, port0.4~5,
function 0x10
CAN1MOD = CAN2MOD = 1; // Reset CAN
CAN1IER = CAN2IER = 0; // Disable Receive Interrupt
CAN1GSR = CAN2GSR = 0; // Reset error counter when CANxMOD is in
reset
CAN1BTR = CAN2BTR = can_btr;
// Install CAN interrupt
VICVectAddr0 =(unsigned long)CAN_RX2_ISR;// Adresse der
Interrupt-Service-Routine wird in die Interrupt-Vector-Tabelle
eingetragen
VICVectCntl0 = 0x00000034; // die 5 ersten bits stellt die
Interrupt Slot Nummer fest = 20 und 6-Bit enablt diese Slot
VICIntEnable = 0x00800000; // Enable C2Rx Interrupt (Bit 23)
CAN1IER = CAN2IER = 0x01; // Enable receive interrupts
CAN1MOD = CAN2MOD = 0x0; // CAN in normal operation mode
return( TRUE );
}
es kommt keine Interrupt,ich weiss nicht woran es liegt???
MFG SVEN