Auswertung TMP100

Gast #431462
Lesenswert?

Ich habe hier eine TMP100 herumliegen und mache mir gerade Gedanken was 
die Auswertung der Nachkommastellen betrifft.

Das Datenformat was man von dem Teil bekommen sieht ja so aus:

   XXXX XXXX NNNN

wobei die ersten 8 X die ganzzahlige Temperatur darstellt (stellt kein 
Problem dar). Nur die weiteren 4 N stellen die Nachkommazahl dar - was 
mein Problem ist.

Die normale Umrechnung von Nachkommazahlen auf Dezimal usw. auf Papier 
ist ja kein Problem.
Aber wie bringe ich das dem Controller bei - am besten in Assembler? Der 
resultierende Wert soll dann auf ein Display ausgegeben werden.
Für mich ist nur die Wandlung der Nachkommastellen interesannt.

Vielleicht hat jemand eine kleinen Hint für mich. Ich stehe gerade auf 
dem Schlauch.

Roland
Gast #431492
Lesenswert?

Auch guten Morgen.

Texas TI TMP100 hab ich auch.
Du musst Dir nur vergegenwärtigen, dass die letzte Stelle 1/16 °C sind, 
also 0,0625. Die addierst Du N mal zu sich selbst, schon hast Du die 
Nachkommastellen.

Wenn Du ganz elegant Vor- und Nachkommastellen ausgeben willst, lies Dir 
mal folgendes durch, das ist ein Algo, der die Umrechnung in ein 
beliebiges Zahlenformat und die Ausgabe in einem Rutsch (also sehr 
schnell) rechnet:

Beitrag "Re: 1023 auf 100% umformen"

Die verschiedenen 'Versionen' sind unterschiedliche Lösungsansätze.
Versuche es mal mit vers1 oder vers2.
Gast #432278
Lesenswert?

Habe gestern abend den Algo für Dich angepasst und optimiert, dann heute 
in der Mittagspause posten wollen, aber glaubst Du, ich hätte den Thread 
noch gefunden.... Kein Wunder, wenn Name und Thema vertauscht sind.

Das Ergebnis wird in ASCII in den Registern R6..R12 gespeichert (wg. 
Debuggen). Kannst Du genauso gut direkt ausgeben.

Was noch nicht geht, sind negative Zahlen.
Evtl. vorher Vorzeichen testen, wenn negativ, MinusZeichen ausgeben und 
Zahl positiv machen, dann normal ausgeben.
Angehängte Dateien:
#458577
Lesenswert?

Hallo,

hat das jemand von euch auch in C?

Gruß Tom

Nutze auch den TMP100 und hab ein 2Byte großes Array. (wie zu beginn des 
Beitrages zu lesen ist) Will das ganze auf einem LCD ausgeben. Irgendwie 
funktioniert die Umwandlung nicht. Das hat doch sicher schon jmd vormir 
gemacht - würd mich über hilfe freuen!


Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren