Hi inka,
die M32-Versionen sind schon fertig. Wenn du wieder zuhause bist, kann ich sie dir schicken.
Schönen Rest-Urlaub noch!
Hi inka,
die M32-Versionen sind schon fertig. Wenn du wieder zuhause bist, kann ich sie dir schicken.
Schönen Rest-Urlaub noch!
Gruß
Dirk
Hi Dirk,
danke für die wünsche und die files - freue mich schon drauf...
ende nächster woche melde ich mich von zuhause aus...
gruß inka
Hi Dirk,
treffen den meine annahmen/fragen:
zu? Oder habe ich damit nur einen an einer anderen stelle von mir gemachten fehler korrigiert?müsste in diesem fall in diesem displaypart nicht noch am anfang die zeile "readL3GD20();" hinzu? Und wie ist es mit dem "gyrotask"? Muss diese nicht auch aufgerufen werden? Oder zumindets "resetgyro"? Und an welcher stelle? In der while(true) schleife oder schon davor?
gruß inka
Hi inka,
im "calibration part" ist ja readL3GD20() zum Einlesen der Gyro-Daten und (optional, zuerst auskommentiert) normalizeL3GD20() zum Normalisieren drin.
Im "Display part" ist die task_GYRO() drin, diese Funktion enthält einen eigenen Programm-Teil zum Einlesen der Daten (anstelle von readL3GD20() ) und normalizeL3GD20() zum Normalisieren.
Somit gibt es in beiden Versionen einen Teil zum Einlesen der Daten und zum Normalisieren.
Beim "Display part" findet das Einlesen, Normalisieren und die Auswertung der Daten (mit der task_GYRO() ) nicht hinter der Kommentarzeile "// Display part:" statt, sondern DAVOR in diesem Bereich:
Code:#ifndef CALIBRATION task_I2CTWI(); task_GYRO(); #endif
Gruß
Dirk
Hi Dirk,
damit wir vom gleichen reden, hier die while schleife der demo_05_02 (im originalzustand in dem ich das runtergeladen habe):
ich finde im displaypart kein "task_gyro", nur fürs kalibrieren...Code:while(true) { #ifndef CALIBRATION task_I2CTWI(); task_GYRO(); #endif task_I2CTWI(); if(getStopwatch1() > 500) // 500ms { #ifdef CALIBRATION // GYRO calibration part: readL3GD20(); // Get sensor values //normalizeL3GD20(); setCursorPosLCD(0, 0); // line 1 writeStringLCD_P("X"); writeIntegerLCD(x_axisg, DEC); writeStringLCD_P(" "); setCursorPosLCD(0, 8); // line 1 pos 9 writeStringLCD_P("Y"); writeIntegerLCD(y_axisg, DEC); writeStringLCD_P(" "); setCursorPosLCD(1, 0); // line 2 writeStringLCD_P("Z"); writeIntegerLCD(z_axisg, DEC); writeStringLCD_P(" "); #else // Display part: setCursorPosLCD(0, 0); // line 1 writeStringLCD_P("X"); writeDoubleLCD(xdg, 6, 1); writeStringLCD_P(" "); setCursorPosLCD(0, 8); // line 1 pos 9 writeStringLCD_P("Y"); writeDoubleLCD(ydg, 6, 1); writeStringLCD_P(" "); setCursorPosLCD(1, 0); // line 2 writeStringLCD_P("Z"); writeDoubleLCD(zdg, 6, 1); writeStringLCD_P(" "); #endif setStopwatch1(0); } }
hier
müsste die zeile doch dabei sein, oder?Code:#endif task_I2CTWI(); if(getStopwatch1() > 500) // 500ms
das davor gehört doch zu kalibration?
gruß inka
Hi inka,
Das davor, also das hier:das davor gehört doch zu kalibration?
... gehört NICHT (#ifndef) zur Kalibrierung, sondern zur Anzeige.Code:#ifndef CALIBRATION task_I2CTWI(); task_GYRO(); #endif
Gruß
Dirk
Lesezeichen