-
        

Ergebnis 1 bis 6 von 6

Thema: Asuro zu langsam?

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    30.05.2005
    Beiträge
    13

    Asuro zu langsam?

    Anzeige

    Hi,
    ich habe folgendes Problem:
    Code:
    i=0;
    			do	{
    				j=i++;
    				BackLED(ON,OFF);
    				for(k=0;k<20;k++)
    					Sleep(255);
    					BackLED(OFF,ON);
    				for(k=0;k<20;k++)
    					Sleep(255);}
    			while(j<=20);
    Der Programmteil lässt die BackLEDs abwechseld aufblinken. Für den gesamten Durchlauf dürfte Asuro nicht länger als 40 x 354µs x 20 = 0.28s brauchen. Jedoch braucht er dafür stolze 3s. Was ist da falsch?

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

    Ich vermute, du verwendest die orginale CD-Library mit dem 72kHz-Timer für Sleep(). Dann sind sleep(72) genau 1 ms und die Rechnung sieht so aus:

    21(j)*40(k)*255(sleep)/72(ms)=2975ms

    Also passen die 3 Sekunden genau. Dein Rechenfehler: 255/72=3541us oder 3,54ms. Außerdem wird j 21x ausgeführt wegen <=

    Gruß

    mic

    Code:
    #include "asuro.h"
    
    uint8_t i, j, k;
    
    int main(void){
    	i=0;
       do{
       	j=i++;
       	BackLED(ON,OFF);
       	for(k=0;k<20;k++) Sleep(255);
       	BackLED(OFF,ON);
       	for(k=0;k<20;k++) Sleep(255);
    	}while(j<=20);
    	while(1);
       return 0;
    }
    Soweit ich das überblicke werden die beiden k-Schleifen sogar 22x ausgeführt, denn erst wenn j=21 ist wird die do-while-Schleife verlassen.

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

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    30.05.2005
    Beiträge
    13
    danke an Radbruch, das war wohl der Fehler.
    Jetzt habe ich das ein kleines Bisschen geändert und kann endlich ein RC-Servo ansteuern. Das Problem ist jetzt nur noch, dass ich noch nicht weiß wozu mir das nützt.

  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

    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 Begeisterter Techniker Avatar von JensK
    Registriert seit
    27.02.2007
    Ort
    Hamburg
    Alter
    26
    Beiträge
    254
    mhh find davon nix richtig sinnlos^^ sinnloser ist, das das hier in dem thread drinne steht^^
    das erste mit dem servo is evtl das sinnloseste... den dominoaufbarp6 find ich davon aber am besten^^ und den kippenden watschelnden asuro find ich niedlich^^ und der zeichnende is nich sooo mein fall... aber eigentlich haste recht alles recht sinnlos...
    öhm welcher user hier im forum war das nochmal :P?

  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
    Hallo

    Servos sind einfach ein geniales Spielzeug. Billig und sehr einfach anzusteuert (nur 1 Pin!) als Antrieb für alles mögliche. Meine ersten Versuche mit dem asuro haben sich mit der Ankunft meines RP6 überschnitten, sonst hätte ich mich wohl intensiver auf eine Anwendung mit dem asuro konzentriert. Mit dem asuro wären wohl die meisten meiner Spielereien auch möglich, aber der RP6 ist einfach die bequemere Bastelplattform.

    das erste mit dem servo is evtl das sinnloseste
    Schon klar dass das Servo hier zusätzlich als Sensor dient und damit das Anschlagen des Stabes (ein chinesisches Essbesteck) erkannt wird? (Link)

    Gruß

    mic

    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
  •