Sensor Wert abfangen

Gast #5101484
Hallo,

ich habe ein Sensor, der liefert mir einen Wert bis 0xFFFF und dann 
fängt er wieder von 0 an.
Ich möchte diesen Überlauf abfangen, dabei wird eine Variable jedesmal 
inkrementiert "nur wenn die Bedingung erreicht ist".
Mein stück Code sieht so aus:

if (SensValue = 0xFFFF)
 {
  tmp +=1;
 }

Meine Problem ist es jetzt, dass dieser Inkrement ständig hochgezählt 
wird, d.h. auch wenn mein SensValue ungleich oxFFFF.

Danke für eure Hilfe
Hi

Hintergrund ist, daß
1
(SensValue = 0xFFFF)
die Überprüfung ist, ob die Zuweisung (SensValue einen Wert geben) 
funktioniert hat.
Das müsste IMMER wahr sein (ob ein =0 auch wahr ist, müsste ausprobiert 
werden).

Bei == ist Das explizit eine Prüfung auf Gleichheit, ohne Zuweisung des 
Wert.

Mit == wirst Du hier also glücklich werden.

MfG
Gast
Fabi schrieb:
> if (SensValue = 0xFFFF)
>  ...
>
> Meine Problem ist es jetzt, dass dieser Inkrement ständig hochgezählt
> wird, d.h. auch wenn mein SensValue ungleich oxFFFF.

Je nach Programmiersprache kann das durchaus in Ordnung sein.
In C (+Derivaten) gibt es denn feinen Unterschied zwischen "=" und "==".

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.