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: Nur mit ganzen Zahlen rechnen? Kategorie: C-Control I V1.1 (von MaPi - 22.12.2009 21:09)
 Als Antwort auf Nur mit ganzen Zahlen rechnen? von turbomatze - 22.12.2009 12:52
MaPi nutzt:  CC1-Unit V1.1, CC1-M-Unit V1.1, CC1-Station V1.1, C-Control 2
Hallo Matthias,
das mit den ganzen Zahlen geht nicht nur der CControl1.1 so, sondern auch anderen uCs.

a) Für Dein Beispiel 10/3 musst Du zwei Berechnungen in CCBASIC ausführen:
1. Wie schon erwähnt: 10/3 = 3
2. Schlüsselwort MODULODIVISION: 10 MOD 3 =1, also der Rest, der nicht durch 3 teilbar ist.
Natürlich kommst Du da auch nicht auf die Nachkommastelle.
Aber dann kannst Du das Ergebnis einfach um den Faktor 10 erweitern und kannst weiterrechnen und das Ergebnis entsprechend formatiert ausgeben.
Aber generell mit Nachkommastellen wirst Du im uC sowieso nicht rechnen (zu aufwendig, zu langsam etc.). O.g. Methode hilft, um entsprechende Mess-/Rechnungsergebnisse formatiert ausgeben zu können.

b) Einfach wie o.g. verfahren und mit Modulo-Division und entsprechender Formatierung arbeiten, d.h. Du musst bei Ausgabe des Ergebnisses dieses entsprechend aus ganzahligem Wert;","Nachkommastelle zusammenbasteln und z.B. an die RS232 ausgeben.

Das Problem mit den Nachkommastellen ist auch der Grund, dass viele Sensortabellen (zum Umsetzen des ADC-Werts in Sensoreinheit, zB. gemessene Spannung an einem NTC in Temperaturwert) mit 10 multipliziert sind, z.B. 200 für einen Wert von 20.0°C. Beim Ermitteln des korrekten Werts mit Nachkommastelle wird der Tabellenwert dann einfach durch 10 geteilt.

Nebenbei: Du musst 5V/256digit teilen, da es 256 Quantisierungsstufen sind (die NULL ist auch noch mit dabei --> 0...255digit = 256 Quantisierungsstufen).

MfG, MaPi

> hallo zusammen,
>
> ich habe festgestellt, dass die C-Control 1 nur ganze Zahlen verarbeiten kann.
>
> Das bedeutet ja, dass wenn ich 10/3 Teile ich als Ergebnis nur 3 ohne Nachkommastellen herausbekomme.
>
> Wie könnt ihr denn damit vernünftig arbeiten??
>
> Wenn ich z.b. einen Analogen Spannungswert auswerte und 240 von 255 an Spannung anliegen habe bei 5 Volt, kann ich das ja mit nur geraden Zahlen gar nicht in einen Spannungswert nach dem komma ausgeben, oder?
>
> 5V durch 255 =20mV ist ein Inkrement     240*20mV  = 4,7V. Das würde mir ja gar nicht dargestellt, oder?
>
>
> viele Grüße, Matthias.

 Antwort schreiben

Bisherige Antworten: