Forum: Mikrocontroller und Digitale Elektronik Noch ein Paar Fragen zum MCP2515


von Alex A. (Gast)


Lesenswert?

Hallo, noch mal.
Muss Euch wieder etwas nerven.

Es geht um den MCP2515, den schönen Can-Controller, der mir langsam die 
Harre vom Kopf weg frißt.

Ich kann jetzt endlich alles sauber Empfangen, Interrupt vom MCP nach 
dem Empfang löschen, Filter funktioniert jetzt auch.

2 Fragen habe ich noch:
Frage 1.
Ich schicke eine 2-byte lange Nachricht.
die wird im Buffer 0, RXB0 empfangen.
Jetzt muss ich die Daten von Rxb0d0 (ein byte) und Rxb0d1 (und noch ein 
Byte) holen.
Nach dem Auslesen, bekomme ich auch das, was ich geschickt habe.
Was ist, aber wenn ich Rxb0d3 auslese? Da soll ja nichts sein,weil ich 
nur 2 Bytes geschickt habe, oder?
Ich bekomme da aber "Sinnlose" Zahlen, wenn ich den Register auslese.
warum ist das so?

Frage 2.
Ich habe die Can-Geschwindigkeit mittels CNF1-3 auf 1000kbps 
eingestellt.
Das funktioniert auch.
Aber ich kann auch noch die Can-Nachrichten, die ich mit 100kbps 
abschicke empfangen.
Der Inhalt passt dann zwar nicht, aber der MCP reagiert darauf. Warum?
Ist das richtig?

Danke

Gruss Alex

von holger (Gast)


Lesenswert?

>Was ist, aber wenn ich Rxb0d3 auslese? Da soll ja nichts sein,weil ich
>nur 2 Bytes geschickt habe, oder?

Warum versuchst du dann das zu lesen?

>Ich bekomme da aber "Sinnlose" Zahlen, wenn ich den Register auslese.
>warum ist das so?

Weil es sinnlos ist ein nicht gesendetes Byte zu lesen?

von Alex A. (Gast)


Lesenswert?

Das habe ich jetzt zum Testen ausprobiert, und möchte es nur verstehen.
Gruss Alex

von holger (Gast)


Lesenswert?

>Das habe ich jetzt zum Testen ausprobiert, und möchte es nur verstehen.

Da gibt es nichts zu verstehen. Ein nicht gesendetes Byte kann auch 
nicht
gelesen werden. Was soll da schon drin stehen? 42? Scheiße steht da 
drin,
irgendwas was vorher empfangen wurde? Lies es einfach nicht.

von Alex A. (Gast)


Lesenswert?

OK, ist gut. Danke
Gruss Alex

von H.Joachim S. (crazyhorse)


Lesenswert?

Und um derartigen Problemen aus dem Weg zu gehen, hat CAN ja den Charme, 
die Anzahl der Nutzdaten mitzusenden. Schöner gehts doch gar nicht :-)

von Alex A. (Gast)


Lesenswert?

>hat CAN ja den Charme, die Anzahl der Nutzdaten mitzusenden

ja, geiles Feature, aber was machst du wenn es 3 Bytes "verteilt" im 
Frame sind? z.B.
Byte0 - Scheisse(nichts)
Byte1 - Nützliche daten
Byte2 - Nützliche daten
Byte3 - Scheisse(nichts)
Byte4 - Scheisse(nichts)
Byte5 - Scheisse(nichts)
Byte6 - Scheisse(nichts)
Byte7 - Nützliche Daten

dann muss man das Richtige ja suchen.

Gruss Alex

von holger (Gast)


Lesenswert?

>ja, geiles Feature, aber was machst du wenn es 3 Bytes "verteilt" im
>Frame sind? z.B.

Diese Konstellation gibt es bei CAN nicht.
Du bekommst die Angabe 3 Byte Nutzdaten.
Was kannst du also auswerten? Byte0 bis Byte2. Basta.

von H.Joachim S. (crazyhorse)


Lesenswert?

@ALex: in diesem Fall wäre DLC 8.

von Alex A. (Gast)


Lesenswert?

Alles klar, jetzt habe ich das verstanden.
Danke Euch!
Gute Nacht.
Gruss Alex

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.