einfache mcp2515 Senderoutine

Gast #316247
Lesenswert?

Servus

kann mal jemand kurz nen Blick drauf werfen ob mein ASM etwa hinhaut?
Vor allem der untere Abschnitt mit dem zyklischen Senden des PortA. Ich
habe dort eine Warteschleife (leicht überdimensioniert) eingebracht, um
auf Nummer sicher zu gehen. Kann man dann danach einfach wieder von
vorne loslegen: ID eintragen, DLC, Data, ..) Ist die Reihenfolge ok?

Mein AVR ist der Mega8515 an 4MHz. Der mcp an 16MHz, 125000kbps CAN
Die Initialisierung hab ich jetzt nicht mit rangehangen, sollte ok
sein.

Ich mach mich dann mal an den Empfänger...
Angehängte Dateien:
Gast #316248
Lesenswert?

ich hab jetzt den Sender fertig...
naja wie zu erwarten war überträgt es erstmal garnichts.

aber auch komisch: wenn ich die CAN-Leitung unterbreche, dann stoppt
die gesamte Routine (zumindest im Empfänger) Was hat denn die Leitung
mit dem AVR zu tun, dass dieser stoppt? (Bewiesen durch LEDs im
Programmablauf, die bei Leitungsunterbrechung ausblieben)
Gast #316249
Lesenswert?

http://www.mikrocontroller.net/forum/list-1-1.html
rechts oben bei "Im Betreff suchen"   CAN   oder  mcp2515   eingeben,
sollte dutzende Treffer bringen.
z.B. http://www.mikrocontroller.net/forum/read-1-323238.html

Wenn der Controller durch Unterbrechen oder
ohne-AbschlußWiderstand-Betreiben sich selbst nicht mehr hören, sendet
er nicht und geht in den Fehlerzustand.

Wenn kein anderer Teilnehmer das Telegramm acknowledged, sendet der
Sender es immer wieder.
Du brauchst also mindestens 2 aktive Teilnehmer am Bus.
Gast #451436
Lesenswert?

Funzt alles.
Der Fehler war: ich hatte den Reset-Pin am mcp nicht beschaltet, weil 
ich dachte wenn Reset, dann über SPI. Aber das darf man natürlich nicht 
unbeschaltet lassen. Damit wurde undeterministisch immer mal resettet. 
Das hat mich einige Wochen Kopfzerbrechen gekostet....
#451551
Lesenswert?

Hallo Horst,

ich taste mich gerade an die CAN-BUS Technologie heran.

Deine Assembler-Senderoutine gefällt mir.

Könntest Du mir mir bitte ein Beispiel für die Initialisierung und für 
eine Empfangsroutine zur Verfügung stellen?

Gemeinsam mit dem Datenblatt lassen sich dann die Vorgänge im MCP besser 
nachvollziehen.

Danke

Bernhard

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren