mikrocontroller.net

Forum: Compiler & IDEs Lauflicht: Delay-Problem (16 Mhz, Mega32)


Autor: Matze (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Zusammen!

Mein Problem dreht sich bei dem simples lauflicht um die Delay-Zeit. Der 
Code (siehe Anhang) scheint okay zu sein, und lässt sich mit dem AVR 
Studio problemlos simulieren. Sobald das Programm auf dem uC ist, ist 
jedoch keine Wartezeit mehr zu erkennen. Es sind sofort alle Ausgänge 
auf PortA aktiv. Ich verwende ein externes 16 Mhz Quarz. Die Fuse-Bits 
müssten eingentlich auch richtig gesetzt sein, ich habe sie im Anhang 
ebenfalls hinzugefügt.

Wo liegt das "zeitliche Problem"?

Vielen Dank schon mal im Vorraus für Eure Hilfe.
Gruß matze

Autor: Matze (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jetzt ist mir noch was eingefallen. Kann es sein, dass man mit der 
Delay-Funktion gar nicht so länge 'Zeiten' verzögern kann? In meinem 
Fall waren das ja 1000ms.

Autor: Matze (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habs mittlerweile selbst hinbekommen. Es lag wohl an der zu groß 
gewählten delay-Zeit. Ich hab jetzt eine Schleife gebastelt, in der die 
delay-Funktion öfters aufgerufen wird. Ist zwar schlechter Code, aber 
für den Zweck tuts das.

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hättest du die Doku gelesen, dann wäre das gleich klar gewesen. Da 
stehen die maximalen Delay-Zeiten nämlich drin.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab mich auch schon oft darüber geärgert, daß C zwar konstante 
Ausdrücke mit float Zahlen ausrechnen kann, aber nicht für bedingte 
Compilierung auswerten kann.

Das Leben könnte viel leichter sein, wenn man beim Über- oder 
Unterschreiten von Werten mittels #error eine Fehlermeldung ausgeben 
könnte.


Peter

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab hier noch irgendwo eine gcc-Version auf der Platte rumliegen, 
die ich so verändert habe, daß sie warnt, wenn der Parameter keine 
Compilezeit-Konstante ist. Eine Bereichsüberprüfung wäre da auch 
möglich. Ich hab mich da nur nie weiter darum gekümmert.

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.