Hi Dirk,

damit wir vom gleichen reden, hier die while schleife der demo_05_02 (im originalzustand in dem ich das runtergeladen habe):

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); 
        } 
 
    }
ich finde im displaypart kein "task_gyro", nur fürs kalibrieren...

hier

Code:
#endif 
        task_I2CTWI(); 
        if(getStopwatch1() > 500) // 500ms
müsste die zeile doch dabei sein, oder?

das davor gehört doch zu kalibration?