-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Back LEDs zum Blinken bringen

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    07.09.2006
    Beiträge
    6

    Back LEDs zum Blinken bringen

    Anzeige

    Hallo @ all
    also ich möchte das meine Lampen vom Asuro blinken und hab mir was dazugedacht doch das funst nicht die lampen bleiben an.
    so ich schreibe euch mal meinen Qeulltext.

    #include "asuro.h"

    int main(void)
    {
    Init();

    while (10)
    {
    StatusLED(RED);
    BackLED(OFF,OFF);
    Sleep (200);
    BackLED(ON,ON);
    };

    return 0;
    }
    So das ist der Qeulltext
    Wer kann mir sagen wie ich die Lampen zum Blinken bekomme
    Danke
    MCClane

  2. #2
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Jena
    Alter
    31
    Beiträge
    3.912
    erstmal heisst es while(1) und nicht while(10), das sollte aber nicht so wichtig sein.

    sleep(200) bedeutet eine pause von weniger als 2 millisekunden-- ich glaub nicht dass du da was sehen kannst. siehe anleitung! die 200 ist nicht die wartezeit in millisekunden..... dann hast du eine pause nachdem du die lichter ausgemacht hast... aber keine pause nachdem du die lichter wieder angemacht hast...

    ich empfehle dir dringend die anleitung genau zu lesen, zu verstehen, und dann nochmal zu probieren......
    kleinschreibung ist cool!

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    07.09.2006
    Beiträge
    43
    * Msleep(int delay) wait for delay in milliseconds

    würd mal höhere zahlen empfehlen

  4. #4
    Erfahrener Benutzer Begeisterter Techniker Avatar von Osser
    Registriert seit
    31.10.2006
    Ort
    Köln
    Alter
    47
    Beiträge
    387
    Das Proggi hier lässt deine LED's blinken.


    Code:
    #include "asuro.h"
    
    int main(void)
    {
      
      Init();
      StatusLED(RED);
    
      while (1) {
    
        BackLED(OFF, OFF);
        Sleep (200);
    
        BackLED(ON, ON);
        Sleep (200); //!!!!!!
    
      }
    
      while (1) {} // Zur Sicherheit immer einbauen...
      return 0;
    
    }

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    01.11.2006
    Beiträge
    433
    Das problem an dem geblinke ist wohl die Zeitverzögerung. und nachdem die sleep funktion mit 72kHz arbeitet sind die zahlen recht schwer zu merken.
    Dazu eine ganz einfache Funktion:

    int sleep_ms(int zeit_in_millisekunden) {
    int i;
    for(i=0;i<zeit_in_millisekunden;i++)
    sleep(72);
    return 0;
    }


    ich schätze dadurch wird das ganze etwas klarer

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    45
    Beiträge
    2.236
    Hallo EDH,

    Ich schlag mal vor, Du besorgst Dir die erweiterte Lib.

    Hier ein Auszug daraus:
    Code:
    void Msleep(int dauer)
    {
    	int z;
    	for(z=0;z<dauer;z++) Sleep(72);
    }


    P.S.
    Welchen Sinn hat es, ein 0 zurückzugeben ?

    Gruß Sebastian
    Software is like s e x: its better when its free.
    Linus Torvald

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    01.11.2006
    Beiträge
    433
    Oh in der tat
    , die erweiterte lib hab ich gar nicht wo kriegt man die (oder seh ich den wald vor lauter bäumen nicht)

    und was das return 0 anbelangt, eigentlcih braucht man das nicht, das stimmt.



    mfg EDH

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    45
    Beiträge
    2.236
    Hallo EDH,

    http://sourceforge.net/projects/asuro/

    schau mal da.

    Ist schon bald 1 Jahr alt und mit den neueren avr-gcc Versionen müßte es eigentlich Warnings hageln, es wundert mich, daß es noch keinem aufgefallen ist.

    Gruß Sebastian
    Software is like s e x: its better when its free.
    Linus Torvald

  9. #9

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    07.09.2006
    Beiträge
    6
    Hallo
    Danke für die Zahlreichen Antworten!!!

    Ich habe das ganze jetzt glaube ich verstanden aber könnte mir noch jemand sagen wie ich jetzt diese Zeitschleife mit dem blinken verbinde.
    Vielleicht so:

    #include "asuro.h"

    int main(void)
    {

    Init();
    StatusLED(RED);

    void Msleep(int 72)
    {
    int z;
    for(z=0;z<72;z++) Sleep(72);


    BackLED(OFF, OFF);
    Sleep (72);

    BackLED(ON, ON);
    Sleep (72);

    }



    return 0;

    }

    So das ist es was ich mir jetzt vorstelle!!
    bitte nicht böse sein wenn es arg Falsch ist bin Anfänger!
    Danke
    MCClne

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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