Vergleichsoperationen ATMega8

Gast #149186
Hallo,

ich programmiere gerade eine Schrittmotorsteuerung für einen
ATMega8-16PI in Assembler (AVR Studio 3.56). Dafür brauche ich den
Vergleich zwischen einer Sollposition und der Istposition. Die
Sollposition gibt es durch ein AD-gewandeltes und umgerechnetes
Potentiometsignal, die Istposition wird durch Inkrementieren oder
Dekrementieren von einer Referenz aus berechnet. Da die Positionen
zwischen 0 und 300 liegen könne vergleiche ich folgendermaßen:

cp  SollposL,IstposL
cpc  SollposH,IstposH

danach folgen Sprungbefehle je nach Ergebnis des Vergleiches. Leider
funktioniert das noch nicht so richtig und ich vermute der Vergleich
läuft nicht wie gewünscht. Ist es überhaupt möglich diese Befehlsfolge
zu nutzen und macht es einen Unterschied ob ich BRLT oder BRLO als
folgenden Sprungbefehl nutze. Und wie wird das Ergebnis des Vergleiches
erhalten.

Ich danke schonmal im Voraus
Gast
Da fehlt noch, wie Du vergleichst !

Das Carry-Flag ist für natürliche Zahlen und das Sign-Flag für ganze
Zahlen.

D.h. es macht einen sehr großen Unterschied, welchen bedingten
Sprungbefehl Du nimmst.


Peter
Gast
Danke trotzdem, ich habe es hingekriegt. Problem lag bei
unterschiedlicher Dreh und Zählrichtung. Die Sollposition wurde also
nie erreicht.

Stephan

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.