Nachkomma stelle DS1820

OP #842339
Lesenswert?
• ▲
▼
hallo,
guten abend

habe mal eine frage, wie wird die nach kommastelle beim ds1820 berechnet
das programm im anhang zeigt ja erstmal nur 3stellen an zb.023 grad
VIELLECHT KANN MIR VON EUCH BITTE EINER WEITERHELFEN

MFG KAY
Angehängte Dateien:
Gast #842417
Lesenswert?
• ▲
▼
Mein Tipp:

Da ist eine Zeile

   ror temp1

da wird das Bit nach rechts rausgeschoben, welches dein halbes Grad 
enthält. Du könntest abhängig von diesem Bit nach der regulären Ausgabe 
einen Text ".0" oder ".5" ans LCD schicken.

Lass diese Großbuchstaben sein.
OP #843157
Lesenswert?
• ▲
▼
hallo,


> Da ist eine Zeile
>
>    ror temp1
>
> da wird das Bit nach rechts rausgeschoben, welches dein halbes Grad
> enthält.

aber wenn ich  diese zeile ausblende erhalte ich die doppelte 
temperratur oder mache ic da irgenetwas vekehrt.


Du könntest abhängig von diesem Bit nach der regulären Ausgabe
> einen Text ".0" oder ".5" ans LCD schicken.

aber dann verändert sich ja die Nachkommastelle nicht.

wäre nett wenn mir einer von euch ein bischen weiterhelfen könnte

mfg kay
#843188
Lesenswert?
• ▲
▼
Kay B. wrote:
> hallo,
>
>
>> Da ist eine Zeile
>>
>>    ror temp1
>>
>> da wird das Bit nach rechts rausgeschoben, welches dein halbes Grad
>> enthält.
>
> aber wenn ich  diese zeile ausblende erhalte ich die doppelte
> temperratur oder mache ic da irgenetwas vekehrt.

Tom sagt ja auch nicht, dass du nicht rausschieben (also durch
2 dividieren) sollst. Aber du kannst dir ja das niederwertigste
Bit vor dem rausschieben ansehen.
Ist es 1, dann lautet deine Kommastelle .5. Ist es 0 dann lautet
die Kommastelle .0.

> wäre nett wenn mir einer von euch ein bischen weiterhelfen könnte

Du denkst im Moment zu kompliziert.
In Pseudocode

   Merker = lowbit( temp1 )
   ror temp1
   temp1 ausgeben

   if Merker == 1
     ".5" ausgeben
   else
     ".0" ausgeben

Die Kommastelle wird nicht wirklich berechnet, sondern einfach
nur abhängig vom niederwertigsten Bit vor dem Verschieben als
.5 oder .0 an die bisherige Ausgabe angehängt.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.