Differenz zweier Zählerstände



  • Hallo,

    ich zerbreche mir den Kopf, wie amn in Assembler den eines abwärtszählenden 16-Bit Zählers (timer) auswerten kann, sodass nach einer vorgegebenen Differenz das Zählen stoppt.

    Hat da einer eine Idee?



  • Hi.

    Bitte etwas genauer erklaeren:
    -Was meinst du mit timer, bzw. von welchem timer ist die Rede?
    -Wenn du Assemblercode erwartest, solltest du noch dazuschreiben, fuer welche Art Prozessor du programmierst, bzw. welche Syntax und Assembler du verwendest und ggF. noch das Betriebssystem, auf dem das ganze laufen soll.



  • Hi,
    so wie sich das anhört arbeitest du bestimmt mit nem Mikrocontroller, hab ich Recht?
    Wenn dem so ist, kann ich dir helfen, sonst glaub ich eher nicht.
    Greetings!



  • Hallo,

    vielen Dank für die Antworten. Wenn ich von einem Timer spreche meine ich den im PC eingebauten Timer. Trifft aber auch auf beliebige Micros zu.

    In C ist das kein Problem. Man definiert die beiden Zählerstände z.b. als unsigned int und zusätzlich die Differenz ebenfalls und kann diese Differenz auf einen vorgegebenen Wert (c) checken.

    Dann hat man es.

    Wenn man einen 32 bit-Zähler hat kann man auch die Funktion labs(a-b)-c verwenden
    und mit dieser weiterrechnen ohne die Differenz extra zu berechnen

    Jetz hätte ich dies hal gern mit dem, Assembler gemacht. Meines Erachtens sind hier ein paar Fälle zu berücksichtigen (a>b, a<b, a+b>65535) oder geht die irgendwie einfacher. Der Typ des Assemblers ist fürs erste mal gleichgültig.

    Gruss


Log in to reply