Hallo, ich experimentiere gerade mit einem PID Regler. Den eigentlichen Regler habe ich aus dem µC Programm herausgelöst und mache jetzt meine versuche am PC. Irgendwie verstehe ich >cout< nicht mehr. Warum wird der Rückgabewert der Funktion COutTest() als Zeichen "." und nicht als Zahl "3" representiert ? Nach diesem Prinzip wird auch die Ausgabe der Reglerfunktion als Zeichen ausgegeben, wobei PIDController.value als Zahl ausgegeben wird. Rückgabewert und Variable stehen doch für den selben Datentyp ?
COutTest() gibt einen uint8 also einen char zurück. Chars werden von cout auch als solche ausgegeben, und 46 steht nun mal für das Zeichen '.'. Siehe ASCII Tabelle. Wenn du da tatsächlich 46 haben willst, muss COutTest() einen int/short/long zurückgeben. Oder willst du, dass cout << 'a'; ein "97" ausgibt?
besonders lustig wirds, wenn auf einmal statt auf Kommandozeile prangender Zahlen nur noch Geräusche aus dem Computer tönen. Bis man da drauf kommt, dass das uint8_t als Zeichen interpretiert wird und auf grund des Wertes nicht dargestellt, sondern in einen Ton (\b) umgesetzt wird.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.