Forum: Mikrocontroller und Digitale Elektronik einfache mcp2515 Senderoutine


von Horst (Gast)


Angehängte Dateien:

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...

von Horst (Gast)


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)

von Profi (Gast)


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.

von Manfred Feitzinger (Gast)


Lesenswert?

Hallo
Ich kenne mich mit Asembler nicht aus.
Hat jemand ein Programm in Basic ??
(ATMega16 - MCP2515)

von Bernhard S. (bernhard)


Lesenswert?

Hallo Horst,

was ist eigentlich aus Deinem CAN-Projekt geworden?

Gruß

Bernhard

von Horst (Gast)


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....

von Bernhard S. (bernhard)


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

von Horst (Gast)


Lesenswert?

he Bernard... in meinem anderen Ding:
Beitrag "CAN übertragung brich ca. nach 10 sek ab"
steht mehr...da kannste auch irgendwo den Empfänger finden (weiter 
unten). Initialisierung und so ist alles dabei.

von Bernhard S. (bernhard)


Lesenswert?

Danke Horst,

ich schau's mir mal in aller Ruhe an.

Gruß

Bernhard

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.