www.mikrocontroller.net

Forum: Compiler & IDEs stk500 - avr-studio - problem delay


Autor: michael schankin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

habe seit kurzem ein stk500 und versuche mich gerade an der
c_programmierung mit avr-studio. Nun taucht mein erstes Problem auf.

Habe ein kleines prog geschrieben mit dem der Controller (Atmega8L)
sekunden zählen soll. Und zwar mit der _delay_ms()-Funktion.
Funktioniert auch wunderbar, solange der Atmega bei 1MHz läuft.
Ändere ich aber die Taktfrequenz über die Fusebits auf 8MHz zählt er zu
schnell. Ist ja auch klar. Habe dann in der delay.h F_CPU auf 8000000
geändert, was allerdings nichts geändert hat, zählt immernoch zu
schnell.
Kann mir jemand erklären wie ich die _delay_ms()-Funktion ändern muss,
damit sie auch bei 8MHz richtig funktioniert?

Hoffe ihr habt mein Pronlem verstanden.

MfG Mich-Beck

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lass mich raten: dein Delay ist größer als als ca. 32 ms.
Lies dir bitte in der Doku durch, wie groß die maximale
Verzögerung werden kann.

Wenn du eine Sekunde verzögern willst, nimm:

1. am besten einen Timer
2. zur Not folgendes:
for (uint8_t i = 0; i < 100; i++)
  _delay_ms(10);

10 ms sind für alle derzeit zulässigen AVR-Taktfrequenzen
immer im zulässigen Bereich (der letztlich durch die 16-Bit-
Zahl begrenzt wird, die an _delay_loop_2() übergeben wird).

Autor: michael schankin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich danke wie verrückt, hatte schon bemerkt, dass da ein wert zu groß
wird, konnte mir aber trotzdem nicht helfen. Jetzt hab ich nur das
Problem, dass er bei 1MHz zu langsam zählt. Wahrscheinlich aufgrund der
Durchlaufzeit der for-Schleife. Werd wohl doch mal mit Timern
experimentieren müssen.
Vielen Dank jedenfalls erstmal

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.