Forum: Mikrocontroller und Digitale Elektronik Hex oder Bin?


von Flak (Gast)


Lesenswert?

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?!?!

von ...HanneS... (Gast)


Lesenswert?

Was willst du da noch konvertieren? - Die Daten kommen doch schon als
signed Integer (Zweierkomplement, 16 Bit).

...

von Flak (Gast)


Lesenswert?

Öhh, ich will doch wissen wie hoch die Temp ist. Also ins Dezimalsystem
konvertieren.

von Rufus T. Firefly (Gast)


Lesenswert?

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.

von ...HanneS... (Gast)


Lesenswert?

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.

...

von ...HanneS... (Gast)


Lesenswert?

Moin Rufus...

Da war ich Legasteniker wohl wieder zu langsam... ;-D

...

von Flak (Gast)


Lesenswert?

hmm, okay: wenn das nur ein darstellungs"problemchen" ist...
wahrscheinlich sehe ich probleme, wo gar keine sind.
trotzdem besten dank

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.