Forum: Mikrocontroller und Digitale Elektronik CAN Variable


von Kay L. (kgbrus)


Lesenswert?

Hallo zusammen,
nun benötige ich mal eure Hilfe.
Irgendwie zerschiesse ich mir im angehängten Sketch den Inhalt der 
variablen  "SBHSudStatus".
 Gesendet wird von der Zentrale in Msg 100024 der Wert 2 in Data 4. Dies 
hab ich mit dem Logic Analyser kontrolliert. Beim Sender an TX und beim 
Empfänger an RX ist exakt das gleiche CAN Signal.
Im Empfänger (Stellwerk0B) wird aber 0 daraus gemacht. Selbiges gilt für 
die Variable "FahrstromSBHSudAllgemeinState " gesendet wird der Wert 140 
und im Empfänger wird aber 0 daraus. Was hab ich übersehen?

https://pastebin.com/9pRnePnr

Gruß

Kay

von Helmut -. (dc3yc)


Lesenswert?

Ich sehe keinen angehängten Sketch! Den Pastebin-Scheiß will ich nicht 
aufmachen. Die Forumssoftware kann auch Dateianhänge.

von Kay L. (kgbrus)


Angehängte Dateien:

Lesenswert?

Sorry ok nun als Anhang

ich hoffe cpp ist OK?

von Matthias L. (lindner8712)


Lesenswert?

Hast du die beiden betroffen Variablen mal "volatile" gemacht? Gilt 
freilich nur wenn die Optimierung an ist..

Sieht nach arduino aus, hast mal die gesamte Can Message aufs Display 
ausgegeben und geschaut was ankommt?

von Alexander (alecxs)


Lesenswert?

Helmut -. schrieb:
> Ich sehe keinen angehängten Sketch! Den Pastebin-Scheiß will ich nicht
> aufmachen. Die Forumssoftware kann auch Dateianhänge.

Den github Link will ich nicht anklicken, ist ja von Microsoft. Manche 
Leute haben Probleme.

von J. S. (jojos)


Lesenswert?

Werden die Abfragen der msg ID true? Mal ein debug print in diese Fälle 
einbauen. Der Wert wurde ja mit 0 initialisiert, also wird der 
vielleicht überhaupt nicht verändert.
Dieser Term a||b==TRUE ist auch nicht gut. a||b reicht, im anderen Fall 
muss b wirklich den Wert von TRUE haben.

: Bearbeitet durch User
von Harald K. (kirnbichler)


Lesenswert?

Alexander schrieb:
> Manche Leute haben Probleme.

Und manche sind zu blöd, zu verstehen, worum es geht.

von Kay L. (kgbrus)


Lesenswert?

Hallo und vielen dank an alle die helfen wollten.
ich habe meinen Fehler gefunden, ein klassischer copy & paste Fehler :-(

In dem Empfang einer nachricht steht in meinem Sketch:
 LSEinfahrtSBHSudState             = bitRead (CAN_TX_msg.data[0], 0);

es muss natürlich Rx und nicht Tx sein, ich Rindviech :-)


Danke

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.