www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Delay in Mainschleife auf einmal langsam


Autor: bushobbyentwickler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

in meinem Programm habe ich in der while(1)-Schleife in der 
main-Funktion lediglich ein _delay_ms(1000) und danach das Toggeln eines 
Pins. Außerdem kann der MC in der Anwendung Daten über UART empfangen.
Empfängt er nun ein einzelnes Zeichen über UART, dann toggelt der Pin, 
der in der Main umgestellt wird nicht mehr.
Meine Frage: Kann das mit dem _delay_ms(1000) zusammenhängen? Ich habe 
schon öfters gehört, dass diese Delay-Funktionen Problemem mit sich 
bringen.

gruß bushobbyentwickler

p.s.: Den Code werde ich später reinstellen.

Autor: Fred S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

1. Schreib doch erst einmal, um welchen Prozessor bei welcher 
Taktfrequenz es geht. Hast Du die Dokumentation zur Delay-Funktion 
gelesen (s.u.)?

2. Damit die Delay-Funktion korrekt arbeitet, muss die 
Compiler-Optimierung aktiviert sein!

Zitat aus dem AVR LIBC Reference Manual 1.4.3:

5.22.2.3 void _delay_ms (double __ms)
Perform a delay of __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.

Gruß

Fred

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.