int i=0;j=0;p=0;bau_str=1; while(1) { while(T0_Tick == T0_Last); //flag To_Tick abfragen T0_Last=T0_Tick; // syncrhonise to Timer Interrupt stellglied=PID_Berechnung(x, b); // Aufrufe PI DAC1DAT=(stell << 16 ) ; // Ausgabe if(bau_str) // string leer ist { sprintf(array2," x=%04d w=%04d xd=%04d yp=%04d yi=%04ld.%03d y=%04d kp=%04d ki=%04\n ",a,b,e_normiert/1000,yp_normiert/1000,yi_normiert/1000,yi_normiert%1000,y,kp,ki,); p++; // Zealer für zykluszeiten während aufbauen des string if(p==6){ // schon 6 zykluszeiten bau_str=0; // der String schon aufgebaut p=0; } } if(j==6){ putchar(array2[i-1]); // Character senden } else j++; // zaeler für zyklus während senden von character if(array2[i]==0){ // alle Charater des Strings schon gesendet bau_str=1; // .bau string i=0; // ganze string leer ,zaeler für character wieder auf Null }