unbekannter Fehler in RP6 Programm
Ich hab Probleme mit einem meiner RP6 Programme,
weil ich den Fehler (seine Meldung im Output) nicht kenne und nicht weis wie ich ihn korregiere.
Code:
#include "RP6ControlLib.h"
void temp(void) // Temperaturfunktion
{
writeString(" | Temperatur in Grad Celsius: ");
uint16_t adc4 = 1032- readADC(ADC_4); // ADC 4 einlesen
uint16_t stemp = (adc4 - 316) / 11; // Y-Achsenabschnitt und Umrechnung zu °C
writeInteger(stemp, DEC); // Temperatur ausgeben
writeChar('\n');
setCursorPosLCD(0,0); // Temperatur am LCD ausgeben
writeIntegerLCD(stemp,DEC);
writeCharLCD('G');
writeCharLCD('r');
writeCharLCD('a');
writeCharLCD('d');
writeCharLCD(' ');
writeCharLCD('C');
writeCharLCD('e');
writeCharLCD('l');
writeCharLCD('s');
writeCharLCD('i');
writeCharLCD('u');
writeCharLCD('s');
}
void licht(void) // Lichtfunktion
{
writeString(" | Licht von 0 bis 10: ");
uint16_t adc3 = readADC(ADC_3) - 23; // ADC 3 einlesen und auf 1000 begrenzen
uint8_t rlicht = adc3 / 100; // ADC3 verkleinern
uint8_t slicht = rlicht; // ausgabe-variable deklarieren
writeInteger(slicht , DEC); // Lichtwert ausgeben
writeChar('\n');
setCursorPosLCD(1,1); // Lichtwert am LCD ausgeben
writeIntegerLCD(slicht,DEC);
writeCharLCD('L');
writeCharLCD('i');
writeCharLCD('c');
writeCharLCD('h');
writeCharLCD('t');
}
void relfeucht(void) // rel. Feuchte Funktion
{
writeString(" | rel. Feuchte in Prozent: ");
uint16_t adc5 = readADC(ADC_5); // ADC 5 einlesen
uint16_t rrF = adc5 - 204; // Y-Achsenabschnitt
uint16_t srF = rrF / 5; // rel. Feuchte in % berechnen
writeInteger(srF, DEC); // rel. Feuchte ausgeben
writeChar('\n');
setCursorPosLCD(1,8); //rel. Feuchte am LCD ausgeben
writeIntegerLCD(srF,DEC);
writeCharLCD('%');
writeCharLCD('r');
writeCharLCD('F');
int main(void)
{
initRP6Control();
initLCD();
showScreenLCD("Wetterstation","Auf dem RP6");
mSleep(1000);
DDRA &= ~ADC3;
DDRA &= ~ADC4; // ADC definieren
DDRA &= ~ADC5;
while(true)
{
temp();
licht();
relfeucht();
mSleep(100);
}
return 0;
}