Hallo u. danke für eure Mühe. Also wenn ich es so lasse x=10, x=15, x=20 dann fährt er vor stoppt dann und dann zurück. Das ist schon echt super nur leider viel zu schnell - also Vollgas. Ich habe unten noch eine Zeile hinzugefügt, weil beim Ende der Schleife ist er ohne Stop gleich wieder in die andere Richtung und das ist nicht gut für die Motoren bei Vollgas.
Ich weiss nicht ob ich es richtig gemacht habe, aber so stoppt er kurz und fährt dann weiter. Sowie ich es jetzt habe ist es echt super für eine Richtung, aber wie schaffe ich es jetzt, dass er es so macht wie oben beschrieben - vor Stop und dann zurück, weil wenn ich es jetzt so lasse und nur den letzten Wert ändere also x=20, dann fängt er wieder an zu spinnen, d.h. vor geht er super
auch mit der Geschwindigkeit passt es zusammen sowie ich es bräuchte, aber zurück nur zu schnell, ruckartig, garnicht oder nur eine Seite.
Code:
#include "RP6RobotBaseLib.h" 

int main(void) 
{ 
   initRobotBase(); 
   DDRA |= 1; 
   DDRA |= 2; 
   int x;      // 10<=x<=20; wenn x >15 in die eine richtung, x<15 in die andre, x=15 stillstand 
   char i; 
    
   while(true) 
   { 
      x =13; 
      for(i=0; i<50; i++) 
      { 
            PORTA |= 1; 
            sleep(x); 
            PORTA &= ~1; 
            PORTA |= 2; 
            sleep(30-x); 
            PORTA &= ~2; 
            sleep(170); 
      } 
      x = 15; 
      for(i=0; i<50; i++) 
      { 
            PORTA |= 1; 
            sleep(x); 
            PORTA &= ~1; 
            PORTA |= 2; 
            sleep(30-x); 
            PORTA &= ~2; 
            sleep(170); 
      } 
      x = 13; 
      for(i=0; i<50; i++) 
      { 
            PORTA |= 1; 
            sleep(x); 
            PORTA &= ~1; 
            PORTA |= 2; 
            sleep(30-x); 
            PORTA &= ~2; 
            sleep(170); 
      }
      x = 15; 
      for(i=0; i<50; i++) 
      { 
            PORTA |= 1; 
            sleep(x); 
            PORTA &= ~1; 
            PORTA |= 2; 
            sleep(30-x); 
            PORTA &= ~2; 
            sleep(170);  
   }
           } 
   return(0); 
}