- LiFePO4 Speicher Test         
Seite 2 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 11 bis 20 von 34

Thema: Geschwindigkeit bei Asuro

  1. #11
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.05.2005
    Beiträge
    734
    Anzeige

    Praxistest und DIY Projekte
    Es ist schon klar, dass die Prozessorbefehle nur nacheinander ausgeführt werden können. Die Abarbeitung der Aufgaben wird ineinander geschachtelt.

    Der Zeitraum der Aufgabe ist aber länger, also kann man meiner Ansicht bei der Aufgabe durchaus von parallel sprechen. Aber ich bin auch mit multiplex einverstanden. Mir ist nur oben nix besseres eingefallen.

    Waste

    PS: Christian25 wird sich wundern, was für eine Diskussion aus seiner Frage wurde. Aber vielleicht hilft es für ihn.

  2. #12
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    52
    Beiträge
    2.236
    Zitat Zitat von Manf
    Der Multiplexeffekt ist ein gutes Beispiel, wie nennt man es denn bei Prozessen?
    Manfred
    Multitasking vielleicht ?

    Wobei bei Multitasking auch nur alle Prozesse nacheinander abgearbeitet werden, es sei denn man hat einen Prozessor mit mehreren Kernen, und das passende Betriebsysten dazu, das hat aber nichts mit dem AVR zu tun.
    Wenn der AVR sich in einer Interruptroutine befindet, kann Ihm kein anderer Interrupt dazwischen funken weil die Interrupts da komplett abgeschaltet sind,
    erst beim verlassen der routine werden sie wieder eingeschaltet und freigegeben,
    Das ist auch der Grund warum sie kleingehalten werden sollen.
    Wie das bei Pics oder anderen aussieht weiß ich nicht.

    Soltte ich da falsch liegen bitte nicht erschlagen


    Gruß Sebastian

    PS: Christian25 wird sich wundern, was für eine Diskussion aus seiner Frage wurde. Aber vielleicht hilft es für ihn.
    hoffen wir mal, das ist ja unser Ziel

  3. #13
    Erstmal danke für die viele Antworten.
    Jetzt hätte ich aber doch noch mal einige Fragen um da komplett durchzublicken:
    Was ist genau dieses AVR??? Ist das eine Art Programmiersprache (glaub ich nicht) oder was genau? Und passt daß zu jeder beliebigen Programmiersprache?
    Dann hat vielleicht jemand mal dieses Datenblatt desATmega8 auf deutsch oder was vergleichbares, weil auf Englisch wird das bei mir nix.
    Und könnte mir vielleicht mal jemand der das ganze schon mal Programmiert hat mir diese zukommen lassen (eMail) am besten mit kurzen Kommentaren (also den Quellcode)
    Vielen Dank

    MFG
    Christian

  4. #14
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.05.2005
    Beiträge
    734
    AVR nennt sich eine Prozessor-Familie von ATMEL. Zu dieser Familie gehört auch der ATMega8, der im Asuro verwendet wird.

    Programmieren kannst du den in jeder beliebigen Sprache, für die Compiler auf dem Markt sind. Mit dem Asuro wird der Gnu-Compiler mitgeliefert, der nennt sich AVR-GCC weil er ein C-Programm in den Maschinencode für die AVR-Familie übersetzt. Wenn du in einer anderen Sprache programmieren willst, dann brauchst auch einen anderen Compiler.

    Ein Beispielcode für dein Problem kommt gleich.

    Gruss Waste

  5. #15
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.05.2005
    Beiträge
    734
    Hier ist der Beispielcode zur Geschwindigkeitsbestimmung. Mit der Weja-Lib sind es wirklich nur ein paar Zeilen. Der relevante Code ist als Auszug hier:
    Code:
    	unsigned long endtime=Gettime()+1000;
    	while(1){
    		if (Gettime()>endtime){
    			v=encoder[0]*3;		// berechnet Geschwindigkeit in mm/s
    			//SerWrite("v = ",4); PrintInt(v); SerWrite("mm/s\n\r",6);
    			endtime=Gettime()+1000;	//setzt neue Sekunde auf
    			Encoder_Set(0,0);			//Encoder auf 0 setzen
    		}
    	}
    Das gesamte Programm incl. Weja-Lib ist in dem angehängten zip-File.
    Erklärung:
    Gettime() ist eine Funktion in asuro.c, die einen Taktzähler in ms zurückgibt.
    encoder[0] ist die Variable in der die Helligkeitsunterschiede mittels einer Interruptroutine hochgezählt werden.
    Mit der Zeile
    v=encoder[0]*3;
    wird die Geschwindigkeit in mm/s berechnet, weil bei mir ein Helligkeitsunterschied 3mm entspricht.

    Wenn du das angehängte Beispielprogramm compilierst, dann musst du auch die dazugehörigen Dateien asuro.c und asuro.h aus dem zip-File verwenden, sonst läuft es nicht.

    Gruss Waste
    Angehängte Dateien Angehängte Dateien

  6. #16
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    52
    Beiträge
    2.236
    Zitat Zitat von Christian 25
    Dann hat vielleicht jemand mal dieses Datenblatt desATmega8 auf deutsch oder was vergleichbares, weil auf Englisch wird das bei mir nix.
    Hallo Christian,
    solltest Du ein Datenblatt auf Deutsch finden, lass mich das wissen...
    Ich glaube, da mußt Du Dich mit Englisch auseinandersetzen

    Gruß Sebastian

  7. #17
    Aber zu einem sostark verbreiteten Prozessor muß es doch auch was auf deutsch geben. Zumindestens mal eine ausführliche Erläuterung die dem Datenblatt gleich zu setzten ist....
    Kennt da jemand einen Link??

    MFG
    Christian

  8. #18
    Gast
    Hallo,
    Für C würde ich das hier vorschlagen,

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

    Dabei muß ich sagen, daß ich mit Englisch auch auf Kriegsfuß bin, und trotzdem komme ich mit den Dattenblätern gut zurecht, die sind echt einfach geschrieben.

    Gruß Sebastian

  9. #19
    Neuer Benutzer Öfters hier
    Registriert seit
    11.08.2005
    Beiträge
    7
    Hallo,
    zu den Begriffen der parallelen Bearbeitung von Aufgaben
    auf einem Prozessor:
    Multiprozessing, Multitasking benennt die Eigenschaft eine Aufgabe
    nebenläufig zu anderen Aufgaben ausführen zu können.

    Steht dazu nur ein Prozessor zur Verfügung, so wird die Arbeitsleistung
    des Prozessors in kleine Zeitscheiben zerlegt "reihum" den einzelnen
    Aufgaben zugeteilt => "Time-Sharing".

    Jede Aufgabe erledigt in dieser Zeit soviel wie sie kann und den jeweiligen
    Rest in späteren Zeitscheiben.
    Auf dem Prozessor läuft dabei natürlich alles schön nacheinander ab,
    aber auf Ebene der Aufgaben läuft alles parallel.

    Was wichtig ist, ist die Parallelität auf Aufgabenebene.
    Die Quasiparallelität der Aufgabenbearbeitung auf Prozessorebene - durch Time-Sharing -
    ist im Wesentlichen eine Performance-Frage.

    Parallele Bearbeitung von Aufgaben ist damit also eigentlich eine
    Eigenschaft der SW - üblicherweise des Betriebssystemes -
    und unabhängig davon, ob der Prozessor diese Parallelität direkt
    unterstützt oder nicht.

    Also auch der Asuro könnte multitasking-fähig gemacht werden.

    Tschüss
    Ewi

    PS:
    sorry grade erst entdeckt, da passiert schon was in dieser Richtung:
    https://www.roboternetz.de/phpBB2/ze...rag.php?t=9735[/b]

  10. #20
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    20.06.2004
    Beiträge
    1.941
    "Der Zeitraum der Aufgabe ist aber länger, also kann man meiner Ansicht bei der Aufgabe durchaus von parallel sprechen."
    nein gas geht nicht!!!!!! es ist nicht parallel!!!!!!!!!!!!!!!!!!!!
    mfg pebisoft

Seite 2 von 4 ErsteErste 1234 LetzteLetzte

Berechtigungen

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

12V Akku bauen