- SF800 Solar Speicher Tutorial         
Ergebnis 1 bis 10 von 24

Thema: Pure Verzweiflung :) ASURO Test Taster

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    19.10.2011
    Beiträge
    14
    meine (damen) und herren, herr tinsen darf einen ersten erfolg verbuchen wenn ich drueck wirds rot ^^
    naja sagen wir teilerfolg und im terminal "es wurde eine taste gedrückt"

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    19.10.2011
    Beiträge
    14
    #include "asuro.h"

    int main()
    {
    Init();

    int i=0;
    for (i=0;i<100;++i)
    {
    BackLED (OFF, ON);
    Msleep(200);
    BackLED (ON, OFF);
    Msleep(200);
    }
    BackLED (OFF, OFF);

    while (1); //ansonsten endlos
    return 0; //wird nicht erreicht
    }

    das probiere ich gerade mal ! msleep kriegt er nur nicht hin ! mach ich nur sleep gehen beide leds an und bleiben an
    ich bin kurz vorm verstaendniss

  3. #3
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    So vielleicht?

    Code:
    #include "asuro.h"
    
    int main(void)
    {
    	void Msleep(unsigned int dauer) // dauer in millisekunden
    	{
    		if(dauer) while(dauer--) Sleep(72); // Sleep(72) dauert 1 ms
    	}
    
    	int i=0;
    
    	Init();
    
    	for (i=0;i<100;++i)
    	{
    		BackLED (OFF, ON);
    		Msleep(200);
    		BackLED (ON, OFF);
    		Msleep(200);
    	}
    	BackLED (OFF, OFF);
    
    	while(1) {StatusLED(RED); Msleep(20); StatusLED(OFF); Msleep(200);} //ansonsten endlos
    	return 0; //wird nicht erreicht
    }
    (ungetestet)

    Spannenderweise kann ich das auch mit meiner v2.3er-Version fehler- und warnungsfrei kompilieren, weil die neue Funktion Msleep() lokal in main() ist? Wieder was gelernt.

    Gruß

    mic
    Geändert von radbruch (20.10.2011 um 14:07 Uhr) Grund: unsigned int ist besser ;)
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    19.10.2011
    Beiträge
    14
    ja so lüppt das ! versteh den void krams nicht ... sonst alles ok !
    int main(void)
    {
    void Msleep(unsigned int dauer) // dauer in millisekunden
    {
    if(dauer) while(dauer--) Sleep(72); // Sleep(72) dauert 1 ms
    }

  5. #5
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    Das wird schon.

    "void" ist nur ein Platzhalter für "nichts". Die Funktion main() benötigt keinen Parameter (nichts zwischen den Klammern) und liefert einen "int"-Wert an die aufrufende Funktion zurück. Darum das olbigatorische return(0); am Ende jedes Programms. Da aber bei den Microkontrollern kein übergeordnedes Betriebssystem existiert endet ein return irgendwo im Nirwana des Kontrollerspeichers.

    Die neu definierte Funktion Msleep() gibt keinen Wert zurück, deshab das "nichts" vor der Definition. Allerdings benötigt sie einen vorzeichenlosen 16-Bit-Parameter "unsigned int" und auf den wird innerhalb der Funktion mit Namen "dauer" zugegriffen.

    http://www.mikrocontroller.net/articles/C
    http://www.mikrocontroller.net/artic...R-GCC-Tutorial

    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!

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    19.10.2011
    Beiträge
    14
    Alles klar danke !!! lesen bildet uebrigens habs auch mal probiert und bin echt was weiter gekommen ^^
    hier mal mein erstes Programm
    #include "asuro.h"

    int main(void)
    {

    Init();
    int zahler;
    while(1)
    {
    if (PollSwitch()==0)
    {
    MotorDir(FWD,FWD);
    MotorSpeed(200,200);
    StatusLED(YELLOW);
    FrontLED(ON);
    BackLED(OFF,OFF);
    SerWrite(" ALLES SUPER!",20);
    }
    else

    for (zahler=0;zahler<15;zahler++)

    { MotorDir(RWD,RWD);
    MotorSpeed(100,200);
    StatusLED(RED);
    FrontLED(OFF);
    BackLED(ON,ON);
    SerWrite(" AUA!",11);
    }
    }
    return (0);
    }
    und danke nochmal fuer deine geduld ! danke danke

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

    Der zweite Parameter von SerWrite() gibt die Anzahl der Zeichen in der Zeichenkette zwischen " und " an. \n ist ein Steuerzeichen und startet im Terminal die Ausgabe einer neuen Zeile (Newline). Mit Code-Tags bleibt die Struktur des Quellcodes erhalten:

    Code:
    #include "asuro.h"
    
    int main(void)
    {
    	int zahler;
    	Init();
    	while(1)
    	{
    		if (PollSwitch()==0)
    		{
    			MotorDir(FWD,FWD);
    			MotorSpeed(200,200);
    			StatusLED(YELLOW);
    			FrontLED(ON);
    			BackLED(OFF,OFF);
    			SerWrite(" ALLES SUPER!",13);
    		}
    		else
    		{
    			MotorDir(RWD,RWD);
    			MotorSpeed(100,200);
    			StatusLED(RED);
    			FrontLED(OFF);
    			BackLED(ON,ON);
    			for (zahler=0;zahler<15;zahler++)
    				SerWrite(" AUA!",5);
    			SerWrite("\n",1);
    		}
    	}
    	return (0);
    }
    Weiterhin viel Spass mit deinem asuro.

    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!

Ähnliche Themen

  1. Antworten: 16
    Letzter Beitrag: 02.05.2011, 09:39
  2. [Asuro] Problem: test.c und asuro.c compilieren
    Von Jonas Münch im Forum Asuro
    Antworten: 12
    Letzter Beitrag: 17.05.2010, 09:34
  3. pure virtual???
    Von p_mork im Forum C - Programmierung (GCC u.a.)
    Antworten: 13
    Letzter Beitrag: 08.08.2007, 19:19
  4. IR-Adapter Test und ASURO-IR TEST geht nich
    Von C_the_KILLA im Forum Asuro
    Antworten: 1
    Letzter Beitrag: 12.03.2007, 18:02
  5. Antworten: 8
    Letzter Beitrag: 30.08.2006, 13:13

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress