-         

Ergebnis 1 bis 6 von 6

Thema: laufzeiten im simulator von bascom anzeigen

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.01.2008
    Beiträge
    164

    laufzeiten im simulator von bascom anzeigen

    Anzeige

    hallo, ich möchte im simulator von Bascom die laufzeizen auswerten. wie geht das? habe Bascom 1.11.9.0.

    Code:
    $regfile = "m32def.dat"
    $framesize = 32
    $swstack = 32
    $hwstack = 64
    $crystal = 8000000
    $baud = 19200
    
    
    Waitus 1
    
    Waitus 9
    
    Waitus 889
    
    
       ldi  r17,33
     Wgloop0:
       Set Portd.5
       Waitus 13
       Reset Portd.5
       Waitus 12
       nop
       nop
       nop
       nop
       nop
       nop
       dec r17
       brne WGLOOP0
    
    
    End

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.01.2008
    Beiträge
    164
    weiss hier keiner weiter um die µs anzuzeigen mit dem simulator.

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    19.07.2007
    Alter
    53
    Beiträge
    1.080
    Mein Senf, auch wenn ich noch nie mit dem Simulator gearbeitet habe (schäm):

    Wenn ich es richtig deute, versuchst du ein 40KHz-Signal (für einen ultraschall-sender?) zu erzeugen.

    Ich zähle die Zyklen, die jeder asm-Befehl benötigt, zusammen und komme somit auf die Laufzeit eines Programmabschnitts. Fürs Grobe nehme ich einen Frequenzzähler, der z.b. auch schon in Multimetern für 30 Euro vorhanden ist.

    Sollen beide Zustände, High und Low, die gleiche Länge haben, ist man mit dem waitus-Befehl natürlich schlecht bedient. Ich würde hierfür lieber einen Timer benutzen, das ist erheblich genauer einstellbar.

    Diese Vermischung von Basic und ASM ist etwas ungewohnt für meine Augen -.- Ich trenne die verschiedenen Sprachbereiche lieber deutlicher voneinander um z.B. auch besser erkennen und vermeiden zu können, das man in ASM etwas macht, was Bascom aus dem Tritt bringt.

    Gruß MeckPommER
    Mein Hexapod im Detail auf www.vreal.de

  4. #4
    Hi.
    Also ich finde den Simulator sehr sinnvoll und benutze ihn auch relativ oft.

    @Sechsrad:
    File compilieren und dann den Simulator starten.
    In den angezeigten Sourcecode klicken und mit F8 im Einzelschritt durchsteppen.
    In der Statuszeile werden Dir die Taktzyklen und die abgelaufene Zeit ab Beginn des Programms angezeigt.
    Mit F8 zum Beginn Deines zu analysierenden Codes springen, die Zeit / Zyklen merken und steppen.
    In Deinem Fall benötigt die WGLoop z. B. 26,625us bzw 213 Taktzyklen.

    Ach ja, es muss unter Optionen-> Compiler -> Output bei Debugfile erzeugen ein Häkelchen sein.

    Gruss
    Guenter

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    02.09.2005
    Ort
    Greifswald
    Beiträge
    17
    Hallo,

    kleine Ergänzung:

    Im Simulator werden die anzuspringenden Befehle ganz links mit einem gelben Kreis gekennzeichnet.
    Den Cursor auf so einen Kreis setzen –rechte Maustaste– im Menü -Run to- wählen.
    Das Programm wird dann bis an diese Stelle abgearbeitet.
    Dann den Cursor in die Statuszeile (ganz unten) setzen –rechte Maustaste- -Clear Cycles- .
    Nun sucht man sich die gewünschte Stelle im Programm und wählt wieder –Run to- aus.
    Auf diese Art spart man sich die Rechnerei und kann Laufzeiten von Schleifen usw. bestimmen.

    Gruß Manfred
    www.malo-web.de

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.01.2008
    Beiträge
    164
    danke für die antworten.
    der code oben war nur zum testen.

    habe es einmal mit avrstudio getestet und wollte mal einen vergleich mit dem Bascom machen.

    die waitµs sind in Bascom erstaunlichlich genau 1 waitµs sind in der zeitnehmung vom avrtsudio 1,13 µs und 890µs sind 890,13 , also alle achtung für bascom.

    http://www.roboternetz.de/phpBB2/viewtopic.php?t=37768

    dort befindet sich ein test zum rc5-code senden mit asm und Bascom gemischt. also sehr gut.

Berechtigungen

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