Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: kommazahlen Kategorie: Programmierung Basic (von Achim - 21.12.2006 2:17)
 Als Antwort auf Re: kommazahlen von chuckie - 20.12.2006 18:15
Achim nutzt:  CC1-Station V1.1
> > > wie kann ich wenn ich z.b. mit einem ptc eine temperatur messe auch kommazahlen anzeigen??
> >
> > Du zählst weiterhin ganzzahlig, rechnest aber mit Zehntelgrad als Einheit. Statt z. B den Wert 21,5 (Grad Celsius) hat Deine Variable den Wert 215 (Zehntelgrad Celsius). Bei der Ausgabe kommt vor der Einerstelle dann ein Komma.

> uhmm wie mach ich das denn genau..... und wie kann ich minus zahlen anzeigen....

Nehmen wir an, Dein PTC liefere am AD-Port Werte von 0 bis 255 die Temperaturen von -12,8(0) bis +12,7 (255) Grad Celsius bei einer Genauigkeit von 0,1°C entsprächen. Also 0 entspräche -12,8°, 1 -12,7, usw.

Dann kopierst Du das Byte in ein (vorzeichenbehaftetes) Word und ziehst 128 ab. 0 wird also zu -128, 1 zu -127, usw. 128 zu 0, 129 zu 1, usw. bis 255 zu 127. Du hast jetzt also die Temperatur in 0,1° in der Variablen inklusive Vorzeichen.

Jetzt müssen wir die Zahl nur noch kommabereinigt ausgeben.

print temperatur/10;",";abs(temperatur) mod 10

HTH

Bye
 Achim

 Antwort schreiben

Bisherige Antworten:

Re: kommazahlen (von ManfredW - 21.12.2006 16:50)
    Re: kommazahlen (von Achim - 21.12.2006 20:44)
        Re: kommazahlen (von ManfredW - 21.12.2006 22:29)
        Re: kommazahlen (von H.J.W. - 21.12.2006 22:15)
            WAIT……There is one more thing! (von H.J.W. - 22.12.2006 13:39)
                Re: WAIT……There is one more thing! (von Achim - 22.12.2006 23:48)
            Re: kommazahlen (von Hauk - 22.12.2006 0:57)
            Re: kommazahlen (von ManfredW - 21.12.2006 22:37)
            Re: kommazahlen (von Achim - 21.12.2006 22:33)
Re: kommazahlen (von Heino - 21.12.2006 12:47)