- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 2 von 2

Thema: Problrm mit while Schleife

  1. #1

    Problrm mit while Schleife

    Anzeige

    Praxistest und DIY Projekte
    Hallo miteinander,

    ich bin neu hier und hab mit meienm Asuro ein kleines Problemchen un dich weiß nicht an was es liegt, hab schon ziemlich alles versucht aber irgendiwe gehts nich. hab nur das wichtigste aus dem code kopiert, das andere ist alles asukommentiert in meinem Code um jeweils die neu funktion zu testen.
    Code:
    while(1)
    	{
    		
    		
    	
    		
    		while (PollSwitch==0)
    		{
    		MotorDir(FWD,RWD);							//drehen bis Linie gefunden ist.
    		MotorSpeed(120,120);
    		Msleep(2000);
    		}
    		
    		
    				
    		
    		MotorDir(FWD,FWD);
    		MotorSpeed(200,200);
    				
    		
    		
    	}
    
    
    	return 0;
    das Problem ist, ich hab keine Ahnung warum der nicht in die untergeordnete while schleife geht, normalerweise müsste er sich ja die ganze zeit im Kreis drehen, tut er aber nicht, ich bin mir auch sicher dass kein Taster gedrückt ist.

  2. #2
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    PollSwitch() "lügt" gelegentlich, vor allem, wenn gleichzeitig die Motoren laufen stimmt der zurückgelieferte Wert nicht immer. Ein Ansatz das zu lösen wäre mehrere Werte mit PollSwitch() ermitteln und diese dann auf Gleichheit zu überprüfen:

    https://www.roboternetz.de/phpBB2/ze...ag.php?t=36760
    https://www.roboternetz.de/phpBB2/ze...ag.php?t=38949

    Wenn es keine Rolle spielt, welche Taste gedrückt wurde, kann man den Tastenpin auch digital abfragen:

    if(!(PINC & (1<<PC4))) ...

    (aus http://www.arexx.com/forum/%76iewtopic.php?p=1319#p1319)

    Wichtig sind natürlich saubere Lötstellen an den Tastern und die richtigen Widerstände (R23-30, 32). Wenn gar nichts mehr hilft kann man die Formel am Ende der Funktion PollSwitch() editieren (in asuro.c) und damit die Tasten kalibrieren:

    http://www.asurowiki.de/pmwiki/pmwiki.php/Main/Tasten

    Gruß

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

Berechtigungen

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

LiFePO4 Speicher Test