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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.