-         

Ergebnis 1 bis 5 von 5

Thema: Spannung in Volt ausgeben

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    25.07.2012
    Beiträge
    46

    Spannung in Volt ausgeben

    Anzeige

    Hallo,
    ich habe ein Programm geschrieben mit dem ich die Akkuspannung auslesen kann und diese in Volt darstellen kann.
    Das Programm funktioniert soweit jedoch habe ich das Problem das keine Nachkomma stellen ausgegen werden (derzeit laut RobotLoader 7,95 V und 7 werden mir im Terminal angezeigt). Was muss geändert werden? Ziel soll es sein das ganze am ende über das LCD Display des M32 Moduls auszugeben.
    Hier erstmal den code:

    Code:
    #include "RP6RobotBaseLib.h"
    
    int main(void)
    {
    	initRobotBase();
    	setLEDs(0b111111);
    	
    	startStopwatch1();
    	
    	uint16_t ubat = readADC(ADC_BAT);
    	uint16_t spannung = (ubat *= 9.765625);
    	uint16_t spannung2 = (spannung /= 1000);
    	
    	while(true)
    	{
    		if(getStopwatch1() > 300)
    		{
    			writeString_P("\nAkkuspannung: ");
    			writeInteger(spannung2, DEC);
    			setStopwatch1(0);
    		}
    		task_ADC();
    	}
    	return 0;
    }
    9.765625(mV) diesen wert habe ich von RN wissen Batteriespannungs-Sensor dann durch 1000 teilen um auf Volt zu kommen da es Milivolt sind.
    Danke im vorraus

  2. #2
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    19.04.2008
    Beiträge
    279
    ich kenn zwar die RP6RobotBaseLib nicht, aber writeInteger() läßt vermuten, dass sie den übergebenen Parameter als Interger und damit ohne Nachkommastellen überträgt. Guck mal in die Header-Datei RP6RobotBaseLib.h ob es da auch eine writeFloat() oder sowas gibt.

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    22.06.2009
    Beiträge
    1.266
    Außerdem kann deine Variable 2 als Integer auch keine Nachkommastellen aufnehmen.
    Nur mal kurz zur Wiederholung:
    signed Integer: Vorzeichenbehaftete Ganzzahl
    unsinged Integer: Vorzeichenlose Ganzzahl
    float: Floating Point Number- Fließ Komma Zahl

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791
    Hi Stephan90,

    wie die anderen schon gesagt haben, kann man das mit float Variablen machen.
    Eine andere Möglichkeit mit Integer Variablen zeigt die Funktion printUBat() in der RP6Base_SELFTEST.c Demo.
    Gruß
    Dirk

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    25.07.2012
    Beiträge
    46
    So habe es jetzt nochmal versucht mit float funktioniert es nicht, da kommt eine Fehlermeldung bei make all. Ich habe mir jetzt den Selbsttest angeguckt und davon die printUBat funktion verwendet damit funktioniert es. Danke

Ähnliche Themen

  1. Spannung um 1 Volt erhöhen
    Von bertl100 im Forum Elektronik
    Antworten: 30
    Letzter Beitrag: 02.08.2013, 21:02
  2. werte als spannung ausgeben
    Von sahra im Forum Assembler-Programmierung
    Antworten: 2
    Letzter Beitrag: 09.11.2010, 11:04
  3. Analoges +- 5 Volt Signal auf 16 Volt verstärken?
    Von manu418 im Forum Elektronik
    Antworten: 16
    Letzter Beitrag: 24.03.2009, 07:10
  4. Antworten: 6
    Letzter Beitrag: 19.04.2007, 18:43
  5. Erzeugung von 200 Volt aus 10 Volt Gleichspannung
    Von corone im Forum Elektronik
    Antworten: 39
    Letzter Beitrag: 12.03.2007, 21:38

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •