Forum: Mikrocontroller und Digitale Elektronik AT90S2313 -> ds18B20 Nachkommastellen->Uart [asm]


von Florian Streibelt (Gast)


Lesenswert?

Hallo,

nachdem ich jetzt 5 Stunden gesucht habe, und dabei auf ein
paar sehr schöne Code-Beispiele hier gestossen bin (und auch anderswo)
habe ich immernoch ein Problem:

Es gibt ja hunderte von Projekten mit dem DS18S20, ich habe aber ein
paar ds18B20, die ein etwas anderes Format im Speicher haben.

Ich habe da Bits für die Nachkommastellen, also 2^-1, 2^-2, 2^-3 und
2^-4.
Natuerlich koennte ich die einfach ignorieren, oder die 16 möglichen
Werte in eine Lookuptable schreiben, aber geht das nicht auch anders ?

Ich möchte letztlich den Wert übert den UART ausgeben, brauche also
einen 'String'.
Das ganze in Assembler.
Mit einem ds18S20 funktioniert das Programm sehr schön, mit dem b20
kommt natürlich nur murks an.

Vielen Dank für die Hilfe !

Florian 'AVR-Greenhorn' Streibelt

von Markus Kaufmann (Gast)


Lesenswert?

Ich würde das so machen:
Eine 8Bit-Variable für die Nachkommastellen, dabei werden aber nur die
Werte 0-99 benutzt.
Wenn das Bit für 2^-1 gesetzt ist, dann addierst Du 50, bei 2^-2 25,
bei 2^-3 12 und bei 2^-4 6.

Man könnte hier natürlich auch eine 16Bit-Variable benutzen, daber
damit wird die Genauigkeit nicht wirklich höher. Vermutlich (hab' das
Datenblatt nicht gelesen) liegt die Genauigkeit eh bei 1 Grad, so daß
Bruchteile von einem Grad nicht wirklich sinnvoll sind.

Markus

von Florian Streibelt (Gast)


Lesenswert?

jo, macht sinn, eine höhere Genauigkeit bringt in meiner Anwendung eh
nich so viel...

Danke !

Florian

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.