Delay Schleife im AVR Studio

Gast #1131196
Kennt jemand eine Delay Schleifen Routine die nicht so eingeschränkt ist 
wie jene im AVR Studio? Denn die geht ja nur bis maximal 262.18ms (oder 
so) durch die F_CPU in MHz also bei meine 8MHz nur bis 32ms.. und ich 
brauche in meinem Programm Delay Schleifen von 200us (_delay_us) bis 
hinauf auf 2 sec.. kennt jemand so etwas was große Bereiche abdeckt? mfg
Gast #1131203
Berni wrote:
> Kennt jemand eine Delay Schleifen Routine die nicht so eingeschränkt ist
> wie jene im AVR Studio?
Welche?

> kennt jemand so etwas was große Bereiche abdeckt? mfg
_delay_us oder _delay_ms.
Gast #1131207
ja ich meinte die beiden _delay_us und _delay_ms (#include 
<util/delay.h>)

 doch hier hab ich bei der 2 Sekunden Delay Schleife das Problem, dass 
ich eine for-Schleife mit ca. 63 _delay_ms(255) machen müsste da diese 
ja bei 8Mhz bis maximal 32ms läuft
Gast #1131219
/**
   \ingroup util_delay

   Perform a delay of \c __ms milliseconds, using _delay_loop_2().

   The macro F_CPU is supposed to be defined to a
   constant defining the CPU clock frequency (in Hertz).

   The maximal possible delay is 262.14 ms / F_CPU in MHz.
 */
void
_delay_ms(double __ms)
{


also vll überseh ich da ja was aber für mich sieht das ganz so aus :S
Gast #1131221
1
/**
2
   \ingroup util_delay
3

4
   Perform a delay of \c __us microseconds, using _delay_loop_1().
5

6
   The macro F_CPU is supposed to be defined to a
7
   constant defining the CPU clock frequency (in Hertz).
8

9
   The maximal possible delay is 768 us / F_CPU in MHz.
10

11
   If the user requests a delay greater than the maximal possible one,
12
   _delay_us() will automatically call _delay_ms() instead.  The user
13
   will not be informed about this case.
14
 */

Ich würd dann mal die C-Bibliothek aktualisieren.
Gast #1131238
> doch hier hab ich bei der 2 Sekunden Delay Schleife das Problem,

Ist das Dein Ernst?
Du willst den AVR wirklich 2 Sekunden lang Takte zählen lassen?

Ist Dir eigentlich bewusst, dass Du beim Kauf von AVRs dessen Timer 
mitbezahlt hast? Delays für einige zehn bis hundert Mikrosekunden sind 
ja ok, aber ab Millisekunden nutzt man besser einen der vorhandenen 
Timer.

...

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 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.