Re: Pause beim AT90S4433

Jul 29, 2005 3 Replies

Hi!



"Florian Goldschmidt" schrieb im Newsbeitrag news:dccm94$f0a$05$ snipped-for-privacy@news.t-online.com...



Als Antwort habe ich bis jetzt nur gehört: "Da musst du was mit Timern
> machen" und so weiter...

Nicht unbedingt erforderlich. Kann ja auch sein, dass du die Dinger noch für eigene Zwecke brauchst. Außerdem: Wenn du Anfänger bist, dann ist das mit Interruptprogrammierung so eine Sache. Da fällt man ganz schnell mal auf die Schnauze.


Wenn du darauf verzichten kannst, das der µC in der Zeit was macht, dann kannst du es direkt in den Hauptcode einbinden. Dazu konstruiert man sich eine Schleife. Also eine Variable runterzählen und solange zum Runterzählen zurückspringen, bis Variable = 0. In der Schleife ein NOP ausführen (vll auch mehrere). Wie lang ist die Schleife dann? Ganz einfach: Ins Datenblatt gucken, wie viele Zyklen jeder der beteiligten Befehle benötigt. Dann multiplizieren mit der Anzahl an Schleifenwiederholungen. Und dann noch umrechnen durch deine Taktfrequenz in Sekunden.


Ist meist zu kurz: Also zwei ineinander verschachtelte Schleifen benutzen. Dann wird das mit dem Ausrechnen nicht mehr ganz so einfach. Aber mit etwas Mathekenntnisse wirst du das schon hinkriegen. Vll muss es ja auch gar nicht so genau sein.


Beispiele gibt es sicherlich irgendwo auf

formatting link


Grüße, Lars


Man kann sich den Assemblercode auch automatisch generieren lassen:

formatting link
Gruss, Florian

Oh, das Programm ist natürlich Klasse, danke!

Gruß Florian

Das Programm ist super, vielen Dank!

Joachim

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required