Nabend!
Danke, für die Antworten 
Im Moment habe ich leider nicht so viel Zeit für das Projekt, da ich noch an einem anderem, wichtigerem Projekt arbeite (Werde ich vorstellen, wenn es fertig ist.).
Ein Schaltplan ist wirklich nicht nötig, die Hardware ist mit Sicherheit in Ordnung.
Ich bin mal dem Vorschlag nachgegangen, mit einem LED Blinken anzufangen und mich bis zum Interrupt hochzuarbeiten.
Und es liegt wirklich am Interrupt....
Dabei ist der Interrupt Teil nicht mehr als das hier:
Code:
void InterruptInit()
{
MCUCR |= (1 << ISC01); //Fallende Flanke an INT0
GICR |= (1 << INT0);
}
ISR(INT0_vect)
{
mcp2515::GetMessage(&receivedMessage);
lcd_clrscr();
lcd_putc(receivedMessage.data[0]);
lcd_putc(receivedMessage.data[1]);
lcd_putc(' ');
lcd_putc(receivedMessage.lenght + 48); //Länge ausgeben
UART::Transmit((uint8_t)(receivedMessage.ID >> 8));
UART::Transmit((uint8_t)(receivedMessage.ID & 0x00FF));
UART::Transmit(receivedMessage.lenght);
UART::Transmit(receivedMessage.data[0]);
UART::Transmit(receivedMessage.data[1]);
}
Abgesehen davon klappt übrigens Alles bestens, wenn ich anstelle vom Interrupt durch Polling abfrage.
Dann kann ich eine Nachricht vom PC per UART senden, die wird dann an den mcp2515 gesendet, der sie (momentan noch im loopbackmode) wieder zurücksendet.
Die Nachricht wird dann auf dem LCD angezeigt.
Jetzt muss nur noch das Interrupt Problem gelöst werden und ich bin glücklich.
EDIT:
Habe den Interrupt Teil einfach nochmal neu geschrieben.
Jetzt funktioniert alles Fehlerfrei, keine Ahnung wo jetzt genau der Fehler war, aber Hauptsache es läuft 
mfg
Olaf
Lesezeichen