- LiFePO4 Speicher Test         
Ergebnis 1 bis 10 von 39

Thema: Programmierung C - Asuro

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Benutzer Stammmitglied
    Registriert seit
    02.01.2012
    Beiträge
    31
    So jetzt brauch ich nochmals eure Hilfe!

    Hier mein Code:
    Code:
    #include "asuro.h"
    
    int i;
    
    int main(void)
    {
    	Init();
    	MotorDir(FWD,FWD);
    	MotorSpeed(200,200);
    	StatusLED(GREEN);
    	for(i=0; i>2000; i++) Sleep(72);
    	MotorDir(BREAK,BREAK);
    	MotorSpeed(0,0);
    	StatusLED(RED);
    	while(1);
    	return(0);
    }
    Theoretisch sollte er jetzt losfahren - 2 Sekunden lang fahren und dann bremsen. Macht er aber nicht, sondern nach dem Booten leuchtet sofort die rote LED!
    Vielen Dank nochmal!

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

    i ist nie größer als 2000, die Schleife wird deshalb sofort wieder verlassen. Blöd wenn man ungetestete Programme verbreitet. Entschuldigung. Richtig wäre

    for(i=0; i<2000; i++)
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    02.01.2012
    Beiträge
    31
    Ok das hätte ich auch selbst sehen können!
    Danke nochmal!

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    02.01.2012
    Beiträge
    31
    Vielen Dank er fährt jetzt so wie ich das möchte.
    Jetzt wollte ich eine kleine Modifikation machen und mal was mit den Kollisionsdinger machen:

    Code:
    #include "asuro.h"
    
    int i;
    
    int main(void)
    {
    	
    	Init();
    	
    	MotorDir(FWD,FWD);
    	MotorSpeed(200,200);
    	StatusLED(GREEN);
    	if ((PollSwitch()!=0) || (PollSwitch()!=0) || (PollSwitch()!=0))
    	{
    	  MotorDir(BREAK,BREAK);
    	  MotorSpeed(0,0);
    	  StatusLED(RED);
    	for(i=0; i<1000; i++) Sleep(72);
    	  MotorDir(FWD,BREAK);
    	  MotorSpeed(100,0);
    	  StatusLED(GREEN);
    	}
    	while(1);
    	return(0);
    Jedoch fährt er mir jetzt durch, was nicht sein sollte - aber laut einem anderem Forum, soll man die Abfrage mehrmals, oder so wie oben machen, da verschiedene Werte zurückkommen und man das so umgehen könnte (suchs euch nochmals raus, wenn ihr wollt).

    Weiters hab ich eine generelle Frage - arbeitet ihr noch immer in der test.c? Welche Dateien von der Original-Cd sind essentiell? Hab diese hier rüberkopiert:

    file:///home/davidb/Asuro/AsuroFl.ini
    file:///home/davidb/Asuro/Test-all.bat
    file:///home/davidb/Asuro/Test-clean.bat
    file:///home/davidb/Asuro/asuro.c
    file:///home/davidb/Asuro/asuro.d
    file:///home/davidb/Asuro/asuro.h
    file:///home/davidb/Asuro/asuro.lst
    file:///home/davidb/Asuro/asuro.o
    file:///home/davidb/Asuro/makefile
    file:///home/davidb/Asuro/test.c
    file:///home/davidb/Asuro/test.c~
    file:///home/davidb/Asuro/test.d
    file:///home/davidb/Asuro/test.eep
    file:///home/davidb/Asuro/test.elf
    file:///home/davidb/Asuro/test.hex
    file:///home/davidb/Asuro/test.lss
    file:///home/davidb/Asuro/test.lst
    file:///home/davidb/Asuro/test.map
    file:///home/davidb/Asuro/test.o
    file:///home/davidb/Asuro/test_original.c

    Brauch ich da wirklich alles? test.c ist ja meine und asuro.h brauch ich ja auch...

    Macht ihr euch eigentlich eigene Programme? Was müsste ich dazu beachten. Ist es überhaupt ratsam, weil normal reicht es ja aus, wenn man immer in der test.c arbeitet, man kann sie anders abspeichern wenn man verschiedene Programme abspielen will...

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    02.01.2012
    Beiträge
    31
    So jetzt hab ich noch eine Modifikation gemacht, doch das If wird bei Kollision trotzdem nicht ausgeführt. Fahren tut er brav!
    Code:
    #include "asuro.h"
    
    int i;
    
    int main(void)
    {
    	
    	Init();
    	
    	if (PollSwitch()==0 && PollSwitch()==0 && PollSwitch()==0 && PollSwitch()==0) 
    	{
    	MotorDir(FWD,FWD);
    	MotorSpeed(200,200);
    	BackLED(ON,ON);
    	}
    	
    	if (PollSwitch()!=0 && PollSwitch()!=0 && PollSwitch()!=0 && PollSwitch()!=0) 
    	{
    	  MotorDir(BREAK,BREAK);
    	  MotorSpeed(0,0);
    	  StatusLED(RED);
    	  MotorDir(FWD,BREAK);
    	  MotorSpeed(100,0);
    	  StatusLED(GREEN);
    	}
    	
    	while(1);
    	return(0);
    }
    Geändert von brandy_000 (04.01.2012 um 18:32 Uhr)

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    11.12.2011
    Beiträge
    10
    Hallo,

    du musst die If-Abfrage in die while-Schleife tun, sonst fragt er nur beim Starten die Taster ab und bleibt danach in der Endlosschleife.

    Grüße,
    oernie97

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    02.01.2012
    Beiträge
    31
    Ja das hab ich jetzt schon gemacht - jedoch auch ohne Ergebnis - er fährt einfach nicht los:

    Code:
    #include "asuro.h"
    
    int i;
    
    int main(void)
    {
    	
    	Init();	
    	while(1);
    	if (PollSwitch()==0 && PollSwitch()==0 && PollSwitch()==0 && PollSwitch()==0) 
    	{
    	MotorDir(FWD,FWD);
    	MotorSpeed(200,200);
    	BackLED(ON,ON);
    	StatusLED (GREEN);
    	}
    	else 
    	{
    	  MotorDir(BREAK,BREAK);
    	  MotorSpeed(0,0);
    	  BackLED(OFF,OFF);
    	  StatusLED(RED);
    	  MotorDir(FWD,BREAK);
    	  MotorSpeed(100,0);
    	}
    	return(0);
    }

Ähnliche Themen

  1. Asuro Programmierung
    Von Berghuhn im Forum Asuro
    Antworten: 18
    Letzter Beitrag: 15.10.2010, 06:04
  2. Asuro Programmierung
    Von Hannes1984 im Forum Asuro
    Antworten: 0
    Letzter Beitrag: 12.05.2009, 21:35
  3. ASURO Programmierung
    Von teufeldd im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 2
    Letzter Beitrag: 04.04.2007, 10:02
  4. Probleme mit Asuro programmierung
    Von Paripah im Forum Asuro
    Antworten: 2
    Letzter Beitrag: 12.05.2006, 14:10
  5. ASURO-Programmierung
    Von baschi-1,3 im Forum Asuro
    Antworten: 3
    Letzter Beitrag: 20.04.2006, 12:48

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress