Hex oder Bin?

Gast #172976
Moin!
Ich durchstöbere gerade das DB vom DS1721 (Temperatursensor von
Dallas).

Wie wird denn nun die gemessene Temperatur ausgegeben? Hex, oder bin?

Ich muß ja den eingehenden Wert (2er Komplement mit MSB first)
umwandeln. Das fällt ja bei Hex leichter , da ich in diesem Fall (in C)
einfach nach float oder double konvertieren und durch 256 teilen muß.

Oder habe ich da etwas nihct verstanden?!?!
Gast #172979
Und? Wo liegt das Problem?

Meinst Du, daß es einen reellen Unterschied zwischen folgenden
C-Anweisungen gibt?

  int a;

  a = 0x40;
  a = 64;

Also. Der Wandler liefert eine Zahl, fertig.

Wenn Du diese in einer auch für Dich verständlichen Form anzeigen
willst, musst Du nur bei der Textausgabe entsprechend vorgehen.

Ganz simpel, wenn auch etwas Codeintensiv:

  printf("%d", Zahl);

Alternativ könntest Du Dir auch mal ansehen, was die Funktion itoa so
alles macht.
Gast #172980
Die Sensoren gibt es mit unterschiedlicher Auflösung, meist ist es 0,5°C
pro Zahlenwert. Du brauchst daher eine Skalierung auf die Auflösung. Das
hat aber nix mit HEX zu tun. Zur Anzeige brauchst du dann noch die
Umwandlung in ASCII (ITOA). Inwieweit die ASCII-Umwandlung bzw. Ausgabe
in der Lage ist, vor der letzten Stelle ein Dezimalkomma auszugeben,
kann ich nicht beurteilen, ich kann kein C. In ASM geht das (bei 0,5°C
pro Einheit), indem man den Wert durch 2 teilt (asr h und ror l) und
anhand des Carrys die Nachkommastelle (0 oder 5) definiert.

Schau dir doch mal in der Codesammlung die Beiträge von Peter Dannegger
zum Thema 1820 an, ich glaube mich zu erinnern, dass da auch was in C
dabei war. Kann aber auch sein, dass das auf seiner HP war.

...

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 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.