Warteschleife von 1000 Takten in Assembler für Mega8

Gast #131972
Lesenswert?
• ▲
▼
Hallo Jens,

mit Nops habe ich es schon probiert. Das macht den Code aber zu gross.
Timer sind mir noch zu kompliziert.

Vorläufig hätte ich gerne Schleifen von Nops, nur bin ich
Assembler-Neuling und kenne erst ganz wenige Befehle.

So etwas wie
i=0
For i = 1 bis 1000
  i = i + 1
  nop
loop

wäre gut.

Viele Grüsse
Karl
Gast #131974
Lesenswert?
• ▲
▼
Zur verschachtelten Schleife: da musst du dir genau überlegen, wie lange
eine Schleife (incl. Zähler dekrementieren, vergleichen, springen,
optionale nops) läuft. Wenn ein 8bit Zähler nicht ausreicht, musst du
eben zwei verschachteln und die äußere dekrementieren, wenn die innere
abgelaufen ist. (die natürlich wieder initialisieren)

Das erfordert genaue Überlegung was wie lange gemacht wird, um ganz
exakt auszurechnen wie lange die dann läuft.

viel Glück und Spaß
Gast #131977
Lesenswert?
• ▲
▼
Hallo Peter,

also du glaubst nicht, wie sehr ich gesucht habe. Kein Witz!!
Aber deine genialen Makros habe ich nicht gefunden. Die Idee nach
'Delay' zu suchen, kam mir einfach nicht :(

Läuft das Makro eigentlich auf allen AVR-Microcontrollern?

Aber nun habe ich die Makros eingebaut und mein ganz besonders
Lauflicht klappt.

Wenn ich auch nicht so ganz verstanden habe, wie das Makro
funktioniert.  Komme wohl nicht so ganz um ein gutes AVR-Assembler-Buch
herum. (Langfristig gesehen:-)

Danke nochmal
Karl
Gast #131978
Lesenswert?
• ▲
▼
bei kleinen bitmanipulationen etc reicht assambler ok
nur wenn du dir ueberlegst grosse programme zu schreiben empfehle ich
dir C =)

und ja, das makro sollte auf alles AVRs laufen..

Das makro erstellt dir nur einen programmcode, den du als delay 1000
siehst

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren