Forum: Mikrocontroller und Digitale Elektronik Probleme mit CAN-Übertragung


von Alexander O. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

ich versuche nun schon seit längerem eine Übertragung mit 2 
CAN-Testplatinen zustande zu bekommen. Den Schaltungsaufbau hab ich als 
EAGLE-Dateien angehängt.
Zum Testen wurde nun eine Platine als Sender und eine als Empfänger 
konfiguriert. Im Prinzip soll eigentlich nichts anderes passieren, als 
dass bei der Senderplatine der Zustand eines 6er Dil-Schalters 
ausgelesen und anschließend über CAN an den Empfänger verschickt werden 
soll.
Der Empfänger soll dann, entsprechend den Schalter-Zuständen LEDs 
schalten. Das Empfangen sieht dabei so aus, dass der Empfänger die Daten 
vom CAN-Controller (MCP2515) auslesen soll, wenn dessen 
Interrupt-Leitung auf LOW geht. Die Interrupt-Leitung habe ich 
kurzerhand mit dem externen Interrupt-Pin INT0 von meinem AVR (MEGA8) 
verbunden.

Leider scheint aber niemals eine Übertragung anzukommen, da die 
Interruptroutine offensichtlich nicht aufgerufen wird, denn wenn ich das 
Empfangsregister des MCP2515 auslese, ohne auf eine Übertragung zu 
warten, steht immerhin irgendwar drinnen.

Jetzt wäre es toll, wenn vielleicht jemand Zeit hätte, sich mein Problem 
genauer anzuschauen oder vielleicht hat sich ja schon jemand genauer mit 
dem CAN-Bus beschäftigt und hat nen funktionierenden Quellcode. Ich 
weiß, dass das leider ganz schön viel ist, um was ich hier bitte, aber 
ich steh leider total auf der Leitung :-)

Im Anhang findet ihr einen Ordner mit dem Programmcode des Senders, 
einen mit dem Programmcode des Empfängers und eben die EAGLE-Dateien.

Zum Ansteuern hab ich hauptsächlich den Quellcode von 
http://www.kreatives-chaos.com/artikel/ansteuerung-eines-mcp2515#register 
verwendet.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.