-         

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

Thema: Wie viele Takte

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    28.10.2005
    Ort
    Berlin
    Beiträge
    116

    Wie viele Takte

    Anzeige

    Hi,
    ich hab da ein etwas zeitkritisches Problem aber keinen Nerv dafür jetzt extra ASM zu lernen.
    Deshalb wollt ich fragen, ob es irgendwo eine Liste gibt mit der Ausführungsdauer verschiedener Bascom-Befehle. Jetzt speziel würde mich interessieren, wie viele Takte eine einfache FOR Schleife für einen Durchgang benötigt (ohne Inhalt).

    (hab in der Suche leider nichts gefunden)

    mfg milkbubi

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    12.01.2007
    Beiträge
    93
    ich bin jetzt aus der c-welt, und weiß daher nicht ob Bascom mit avrstudio geht.

    aber ich denke schon, du kannst ja mal dein erstellest prog mit avrstudio simuliereun und da kannst du dir den disassembler anschaun, da siehst dann die asm befehle, aber ein asm befehl beinhaltet auch wiederrum mehrere takte.

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    28.10.2005
    Ort
    Berlin
    Beiträge
    116
    Hey vielen Dank für den Tip,

    hab das mit avrstudio zwar nicht probiert bin aber meinung, dass mir Bascom auch den asm ausgeben kann. Aber was ich dabei gesehen hab ist, dass Bascom im Simulation Mode unten sowohl die Takte als auch die Zeit angibt, die bis zu dem Befehl vergangen sind. Jetzt die Frage an erfahrene User: Sind diese Angaben realitätsnah?

    mfg milkbubi

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    08.11.2006
    Ort
    olargues
    Beiträge
    776
    erste frage ist natürlich, ob du ein oszilloskop hast... dann kannste es easy messen .

    als kleiner ehrfahrungsbericht über Bascom möchte ich folgendes beitragen:

    ich wollte neulich eine frequenz messen (im bereich 1 bis 3 khz) . den prozessor hatte ich intern auf 2 mhz getaktet ( 1mhz ist ja original drin.. aber sehr schlecht für die serielle kommunikation)

    auf jeden fall hat ein

    timer = 0
    waitms 100
    ergebnis = timer

    als ergebnis defakto 100 ergeben.

    ich war sehr erstaunt und happy nicht assembler machen zu müssen

    gruss

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    27.01.2005
    Ort
    München
    Beiträge
    20
    2.000.000 Takte pro Sekunde / 10 = 200.000 und nicht 100

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    30.07.2005
    Beiträge
    569

    Re: Wie viele Takte

    Zitat Zitat von milkbubi
    Deshalb wollt ich fragen, ob es irgendwo eine Liste gibt mit der Ausführungsdauer verschiedener Bascom-Befehle. Jetzt speziel würde mich interessieren, wie viele Takte eine einfache FOR Schleife für einen Durchgang benötigt (ohne Inhalt).
    Wenn man bedenkt, das Bascom schon alleine für das Grundgerüst einer Interupt Routine ca. 100 Takte benötigt, kann man diese Frage nicht so einfach beantworten.
    Wenn Bascom die nötigen Variablen in Registern zwischenspeichern würde (und diese nicht jedesmal über das RAM gehen würde), könnte man davon ausgehen, das eine leere Schleife nicht mehr als 10 Takte dauert.
    Grundregeln des Forenpostings:
    1. Nutze niemals die Suchfunktion!
    2. Überprüfe niemals die Topics nach Ähnlichkeiten!
    3. Schreibe alles in hellgelb!

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    28.10.2005
    Ort
    Berlin
    Beiträge
    116
    Na vielen Dank erstmal für die Antworten. Ich werd mal versuchen in der Uni das am Oszi durchzumessen.
    Dann kann ich vielleicht auch was zu der Genauigkeit der Simulatorangaben sagen, ich denke das wäre nicht nur für mich interessant zu wissen.

    In diesem Sinne
    milkbubi

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    06.03.2007
    Beiträge
    7
    Die Angaben im Simulator unten über die Takte sind ziemlich genau - so genau wie Dein Quarz. Du kannst die Taktanzeige durch rechtsklicken zurücksetzen und dann Einzelschritte ausführen, um die Zeiten für jeden Befehl zu sehen. Das gilt natürlich nicht bei Befehlen, die auf ein externes Ereignis warten oder bei Timern.

  9. #9
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    28.10.2005
    Ort
    Berlin
    Beiträge
    116
    Das heißt also, wenn mir der Simulator sagt, dass er für einen Schleifendurchlauf (leere if-Schleife) 16 Takte braucht, dann kann ich davon ausgehen, dass das auf meinem µC später genauso ist. Wie genau der Takt ist, ist ja in dem Fall eigentlich wurscht, da es ja nur um die Anzahl der Takte geht. Wenn daraus dann die Zeit errechnet wird sollte der natürlich schon möglichst genau laufen.
    Wie sieht denn das beim ADC aus. Der hat ja nur eine gewisse Sampling Rate, läuft das Programm dann trotzdem weiter, während der intern umwandelt oder bleibt der dort hängen bis er fertig ist?

    Vielen Dank bis dahin

    mfg milkbubi

  10. #10
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    30.07.2005
    Beiträge
    569
    Zitat Zitat von milkbubi
    Wie sieht denn das beim ADC aus. Der hat ja nur eine gewisse Sampling Rate, läuft das Programm dann trotzdem weiter, während der intern umwandelt oder bleibt der dort hängen bis er fertig ist?
    Hmm, beide Varianten sind möglich.
    kommt ganz auf die impletierung an.

    Grüße,
    Hanni
    Grundregeln des Forenpostings:
    1. Nutze niemals die Suchfunktion!
    2. Überprüfe niemals die Topics nach Ähnlichkeiten!
    3. Schreibe alles in hellgelb!

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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