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; }







Zitieren

Lesezeichen