- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 10 von 14

Thema: Eure Meinung bitte

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    17.05.2011
    Beiträge
    15
    Also im Grunde ist es egal welches Programm ich schreibe...
    Als test nehmen ich mal ein aktuelles:
    Code:
    #include "myasuro.h"
    #include "asuro.h"
    
    int main()
    {
     	 Init();
     	 EncoderInit();    
    	while (1);
      	{
     	 Go(300,150);
         Turn(90,150);
      	 }
      return 0;
    }
    Bei diesem Beispiel leuchtet die StatusLED vom ASURO Grün und mehr tut sich nicht weder anstumpen noch drohen noch bitten oder betteln hilft. Stur wie ein Panzer der Kollege...

    Bei dieser Form hier bewegt sich der ASURO ein mal nach vorne und dreht sich in die entsprechende Richtung und bleibt dann stehen, wieder leuchtet die LED Grün:
    Code:
    #include "myasuro.h"
    #include "asuro.h"
    
    int main()
    {
     	 Init();
     	 EncoderInit();    
    	
      	
     	 Go(300,150);
         Turn(90,150);
      	
    	while (1);
      return 0;
    }

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    Zitat Zitat von Tobias Stosius Beitrag anzeigen
    Also im Grunde ist es egal welches Programm ich schreibe...
    Als test nehmen ich mal ein aktuelles:
    Code:
    #include "myasuro.h"
    #include "asuro.h"
    
    int main()
    {
     	 Init();
     	 EncoderInit();    
    	while (1);
      	{
     	 Go(300,150);
         Turn(90,150);
      	 }
      return 0;
    }
    Bei diesem Beispiel leuchtet die StatusLED vom ASURO Grün und mehr tut sich nicht weder anstumpen noch drohen noch bitten oder betteln hilft. Stur wie ein Panzer der Kollege...
    Doch ein Software Problemm! Also nicht egal:

    while (1);

    Das hier oben ist ein sehr Kompaktes Endloss-schleife. Asuro kommt hier nicht raus. Und weil am ende von den Init-funktion die StatusLED Grün schaltet ist. Macht er nichts weiter und Erklärt deine Erfindungen. Die {}-Klammern haben keine weitere Einfluss mehr auf den Ablauf von das Programm. Lössung: ; weg!

    Bei dieser Form hier bewegt sich der ASURO ein mal nach vorne und dreht sich in die entsprechende Richtung und bleibt dann stehen, wieder leuchtet die LED Grün:
    Code:
    #include "myasuro.h"
    #include "asuro.h"
    
    int main()
    {
     	 Init();
     	 EncoderInit();    
    	
      	
     	 Go(300,150);
         Turn(90,150);
      	
    	while (1);
      return 0;
    }
    Genau so hier. Erst eine strecke mit Go, danach ein Drehung von eine bestimmte Winkel. Danach geht er Fest in ein Endloss-schleife. Diese Variant ist aber gut. Weil Asuro nimmer das Befehl return 0; ausführen soll. Lösung: die Go und Turn Funktion Eindinden in eine weitere While-schleife:
    Code:
    ...
      while (1)
      {
        Go(300,150);
        Turn(90,150);
      } // Ende von den While-endloss schleife
    
      while (1); // Eine weitere, aber überflussige, endloss-schleife zur behebung das ausfuhren der return Befehl.
    
     return 0;
    } //Ende Main-Funktion
    Geändert von Valen (31.05.2011 um 12:05 Uhr)

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    40
    Beiträge
    3.416
    while (1);

    er schleift sich in einer leeren Schleife zu tode!

    das Semikolon sagt ihm dass deine Schleife da beendet ist die geschweiften Klammern ignoriert er einfach!
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    17.05.2011
    Beiträge
    15
    Oh man... Vielen Dank!!
    Ich kenne mich noch nicht so 100%ig aus. Da mangelt es noch an
    dem ein oder anderen Baustein.
    Wenn ich das jetzt richtig verstanden habe sorgt das Semikolon dafür, dass die
    Schleife beendet wird und der Teil der in geschweiften Klammern steht weg fällt.

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    Zitat Zitat von Tobias Stosius Beitrag anzeigen
    Oh man... Vielen Dank!!
    Ich kenne mich noch nicht so 100%ig aus. Da mangelt es noch an
    dem ein oder anderen Baustein.
    Wenn ich das jetzt richtig verstanden habe sorgt das Semikolon dafür, dass die
    Schleife beendet wird und der Teil der in geschweiften Klammern steht weg fällt.
    Nein, die Semikolon gibt das ende an von was in dem Schleife ausgeführt werden soll. Weil da zwischen while(1) und den Semikolon nichts steht, macht er auch nichts in den Endloss-schleife.

    while(1);
    =
    'Solange 1 (nicht gleich 0 ist), mache: Nichts ;'

    Die Code zwischen geschweiften Klammern ist wirklich ein Teil von sein Programm (diese Code steht sogar wirklich in sein Flash-gehirn). Aber beim ablaufen kommt er dort einfach nicht.
    Geändert von Valen (31.05.2011 um 12:33 Uhr)

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    17.05.2011
    Beiträge
    15
    Jetzt hat's klick gemacht. Nochmal vielen lieben Dank. ich glaube ohne euch wäre ich jetz echt aufgeschmissen gewesen.

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    Ich hatte meine letzte Beitrag nog ein Bischen geändert gleichzeitig das du deine Beitrag gepostet hat.

    Eine weitere Erklärung:

    Entweder gibt es nur ein Befehl, oder nichts, gefolgt durch ein Semikolon, das jedes mal durch while wiederholt wird:

    Code:
    while (1) Sleep(10); // Wiederhole Sleep(10) für immer.
    Oder es steht zwischen geschweifte Klammern, die nicht durch ein Semikolon gefolgt durften zu sein:
    Code:
    while(1) {
    StatusLED(RED);
    Sleep(72);
    StatusLED(YELLOW);
    Sleep(72);
    StatusLED(GREEN);
    Sleep(72);
    }  // Kein Semikolon benötigt, die steht schon hinter das letzte Befehl.

Ähnliche Themen

  1. Ein Neuer braucht Eure Meinung!
    Von cnc-ba im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 1
    Letzter Beitrag: 11.02.2010, 18:03
  2. Ein Neuer braucht Eure Meinung!
    Von cnc-ba im Forum Umfragen
    Antworten: 1
    Letzter Beitrag: 11.02.2010, 17:04
  3. Schnell: Eure meinung zählt
    Von asurofreak. im Forum Buchempfehlungen
    Antworten: 3
    Letzter Beitrag: 02.07.2009, 07:16
  4. Eure Meinung zum Robo008 Board?!
    Von grind im Forum AVR Hardwarethemen
    Antworten: 3
    Letzter Beitrag: 07.06.2007, 23:00
  5. Eure Meinung zum Fahrgestell des RP5
    Von EDatabaseError im Forum Mechanik
    Antworten: 11
    Letzter Beitrag: 22.10.2006, 18:58

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress