Stephan90
08.08.2013, 18:11
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:
#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
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:
#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