-
        

Ergebnis 1 bis 8 von 8

Thema: Problem mit denTastern!

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    30.11.2007
    Alter
    25
    Beiträge
    17

    Problem mit denTastern!

    Anzeige

    Hi!
    Ich habe jetzt seit einiger Zeit einen Asuro.
    Wenn ich die Taster mit folgendem Programm programmieren will funktioniert es allerdings nicht.
    Der ASURO fährt einfach geradeaus und hält nochnichtmal an.

    Code:
    #include "asuro.h"
    
    int main(void)
    {
    	Init();
    unsigned char ta;
    int z;
    
    for(;;)
    {
    
    		ta = PollSwitch() ;
    		for(;ta==0;)
    		{
    		MotorDir(FWD,FWD);
    		MotorSpeed(150,150);
    		}
    	MotorDir(RWD,BREAK);
    	MotorSpeed(190,0);
    	for (z=0;z<300;z++)
    		{Sleep(216);}
    }
    	while(1);
    	return 0;
    }
    [/code]

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    33
    Beiträge
    2.380
    dir ist schon klar, das "ta" während deiner
    Code:
    for(;ta == 0;)
    schleife nie wieder ausgelesen wird ? d.h. der wert bleibt IMMER = 0

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    30.11.2007
    Alter
    25
    Beiträge
    17
    warum ist ta immer 0?
    ta ist doch gleich PollSwitch ()

  4. #4
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.781
    Blog-Einträge
    8
    Hier ist ta immer 0, weil die Schleife endlos läuft, wenn sie mal betreten wurde:
    Code:
          for(;ta==0;) 
          { 
          MotorDir(FWD,FWD); 
          MotorSpeed(150,150); 
          }
    Keine Chance für PollSwitch(), weil es außerhalb dieser Schleife ist.

    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    33
    Beiträge
    2.380
    kann es sein, das dir die c syntax nicht sehr geläufig ist ?

    Code:
    ta = PollSwitch();
    heisst nur das du die methode PollSwitch(); aufrufst, die die werte der taster abruft .... und nach BEENDEN des aufruf in die variable ta (variable = wertespeicher) zurückliefert.

    das bedeutet nicht das wenn du ta == 0 machst automatisch die methode PollSwitch(); aufgerufen wird .... für den fall dass du all das schon weisst, tut mir leid aber es machte mi den eindruck als ob du da was grundlegend falsch verstanden hast

  6. #6
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.781
    Blog-Einträge
    8
    Tja, ich bin nun auch nicht mehr sicher, wie ich das interpretieren soll, trotzdem mal ein Vorschlag:

    for(;ta==0; ta=PollSwitch())

    sollte im Rahmen der Ungenauigkeiten von PollSwitch() halbwegs funktionieren.

    mic

    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    30.11.2007
    Alter
    25
    Beiträge
    17
    wie würde denn dann ein programm aussehen bei dem der ASURO nach vorne fährt und dann bei einer Kollision einige Zeit zurück?
    Danke im Vorraus!

  8. #8
    Erfahrener Benutzer Begeisterter Techniker Avatar von JensK
    Registriert seit
    27.02.2007
    Ort
    Hamburg
    Alter
    26
    Beiträge
    254
    nutz mal die sufu gibt gaaanz viele.... auch ist so ein Programm bei den Examples von Arexx dabei.... sogar mit Code...

    mfg

Berechtigungen

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