Guten Tag. Habe folgendes Problem und hoff irgendjemand kann mir weiterhelfen. Ich habe 2 uC´s über CAN miteinander verbunden. D.h. mega32 -> mcp2515 -> mcp2551 und umgekehrt. Wenn ich nun die Stromversorgung einschalte passiert erstmal gar nichts. Nachdem ich nun an beiden Controllern den Reset betätige, klappt die Kommunikation einwandfrei. Jemand ne Ahnung was das sein könnte?
µC und mcp2515 kommen unterschiedlich schnell aus dem Power-Up hoch und Timing gerät ausser Kontrolle?
Hallo, Wartezeiten für Peripherie-ICs zu kurz für deren PowerOn-Reset bevor die Initialisierung durch den µC startet. Ist zumindest die Art Fehler, die ich mir gern einbaue (und inzwischen schnell behebe...). Wenn die Startzeit nach PowerOn unkritisch ist, warte ich meist generell mehrere 100ms in einer Warteschleife. Gruß aus Berlin Michael
Vielleicht ne blöde Frage, aber nach dem einschalten müsste der uC doch ab der main() beginnen, oder? Dann muss ich also als erste Anweisung eine Verzögerung einbauen. Ist das richtig?
Ja so ist das gemeint. Durch den Versuch kannst du ja nichts kaputt
machen.
Dem Hinweis von muh
> bus blockade?
könntest du auch noch nach gehen. Wie balowern die beiden µC aus, wer
was auf dem Bus macht - wer lauscht und wer tönt und wie lange
jeweils...
In meinem Programm wird zuerst die SPI Schnittstelle (als Master), danach der mcp2515 initialisiert. Dies geschieht auf beiden Controllern genau gleich. Was meinst du mit ausbalowern? Das Bit-Timing? Hab vor dem initialisieren mal 1000ms abgewartet. leider keine Besserung.
Sorry, ich habe nicht in den Programmcode oder das Datenblatt des MCP2515 geschaut. Ich war der Meinung dass du zwischen den µCs eine Master-Slave Situation aufbaust. Mit dem CAN Controller MCP2515 hast du aber folgende Situation: µC (Master) -SPI- MCP2515 (Slave) -CAN- MCP2515 (Slave) -SPI- µC (Master)
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.