Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Problem bei Kommastellen Kategorie: Programmierung (von ACU, http://www.roboterbastler.de - 25.03.2004 19:44)
Als Antwort auf Re: Problem bei Kommastellen von Dietmar Weickert - 25.03.2004 18:46
Ich nutze:
C-Control II Unit, CC2-Application-Board, OSOPT V3.0
Danke für die Hilfe!
Ich habe es jetzt mit Hilfe str.putfloatf hinbekommen!
MfG ACU

> Hallo!
>
> Versuche einmal Folgendes:
>
> U1=ports.adc(0);
> U1=U1/204.6;
> U2= ...
>
> Auf diese Weise hast du auf jeden Fall Nachkommastellen in U1 und U2.
>
> Au�erdem köntest du die Funktion str.putfloatf versuchen. Da kannst du angeben, wie viele Nach-
> kommastellen du sehen möchtest. Vielleicht handelt es sich um undokumentiertes "Feature" von
> putfloat, immer auf 0 Nachkommastellen genau zu sein. (Da es sich um Inline-Funktionen handelt,
> kann man das nicht gut nachvollziehen.)
>
> Zuletzt gibt es auch noch die Möglichkeit, die Formatierfunktionen von lcdext.c2 zu verwenden. Dort
> gibt es die Möglichkeit, direkt aufs Display mit einer oder zwei Nachkommastellen auszugeben. Wenn
> du eine andere Aufteilung zwischen Vor- und Nachkommastellen benötigst, hast du da auch die
> Möglichkeit, aus dem Source einer dieser Funktionen eine neue nach deinen Bedürfnissen abzuleiten.
> (Funktionieren alle nach demselben Schimmel, der Vorzeichentest könnte bei dir entfallen.)
>
> Beste Grü�e,
> Dietmar.
>
>
> > > Hallo ACU
> > >
> > > Nehme an das die AD-Ports Zahlen im Integerbereich ausgeben. Also wird auch nur ein Integer
> > > übergeben. Stell dein Programm mal so um, dann sollte es funtzen.
> > >
> > >
> > > U1=ports.adc(0)/204.6;
> > > U2=ports.adc(1)/204.6;
> > >
> > > GruÃ?
> > > Werner
> > >
> > >
> > >
> > > > Hallo!
> > > > Ich habe folgendes Problem:
> > > > Meine CC2 gibt die Kommastellen nicht an. Nur die Ganzzahlen.
> > > > Was mache ich falsch?
> > > > Hier der Quelltext:
> > > >
> > > >
> > > >
> > > > float U1;
> > > > float U2;
> > > > string Ausgabe1;
> > > > string Ausgabe2;
> > > >
> > > > thread main
> > > > {
> > > > lcdext.init();
> > > > lcdext.clear();
> > > > hwcom.setspeed(5);
> > > > hwcom.init();
> > > > loop
> > > > {
> > > >
> > > > U1=(ports.adc(0)*5)/1023;
> > > > U2=(ports.adc(1)*5)/1023;
> > > > str.putfloat(Ausgabe1, U1);
> > > > str.putfloat(Ausgabe2, U2);
> > > > lcdext.line(1);
> > > > lcdext.print(Ausgabe1);
> > > > lcdext.line(2);
> > > > lcdext.print(Ausgabe2);
> > > > Ausgabe1="";
> > > > Ausgabe2="";
> > > > sleep 50;
> > > > lcdext.clear();
> > > > lcdext.line(1);
> > > > }
> >
> >
> > Danke für die Antworten!
> > Ich weiÃ? nur nicht, wie das mit
> > U1=ports.adc(0)/204.6;
> > U2=ports.adc(1)/204.6;
> > funktionieren soll (ich bekomme das gleiche Ergebniss wie vorher).
> >
> > Das Ziel von dem Programm ist eigentlich einfach, dass die Spannungen von den A/D Wandlern in V
> > mit Kommastellen angezeigt werden!
> >
> > MfG ACU

Meine Seite: http://www.roboterbastler.de


    Antwort schreiben


Antworten: