mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Elegante Möglichkeit Pulsfolgen auszugeben


Autor: Tina (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich suche nach einer möglichst eleganten Lösung, einen ATMega 48 unter 
Bascom so zu programmieren, dass er mehrere Folgen von 200 Pulsen mit 5 
ms Pulsdauer und 5 ms Pause dazwischen ausgibt, und dann bis zur 
nächsten Folge 8 s lang wartet. Waitms und waitus gehen mit ein paar 
for-loops, aber das ist leider nicht sonderlich genau. Hat jemand eine 
bessere Idee? Irgendwie deke ich da an den Timer, aber so recht kommt 
mir da keine zündende Idee...

Autor: Quentchen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Timer sind das Mittel der Wahl genaue Verzögerungen zu erzeugen, die 
darüber hinaus noch nebenläufige Berechnungen, Interaktionen etc. 
ermöglichen.

Da Du Timer verwenden willst, worauf bezieht sich da die Frage nach 
einer Idee die Dir fehlt?

Autor: aha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die fehlende Idee ? Abzaehlen mit einer Zustandsmaschine

Autor: Quentchen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Abzaehlen mit einer Zustandsmaschine
Was ist denn das, eine "Zustandsmaschine"?

Wo haben die hier nur ihre Terminologie her?

Zum Zählen nehme ich immer Zähler. Nur in schlimmen Träumen, nach Genuss 
von ganzen Truthähnen, interpretiere ich die als Automat .
Macht aber ohnehin keinen Sinn.


Heheh. Das reimt sich. Und was sich reimt ist gut. (Pumuckl)

Autor: H.j.Seifert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Timerinterrupt programmieren (min. alle 5ms), ich nehme eigentlich fast 
immer einen 1ms-Timer.
Tja, und dann zählst du ein paar Variablen und löst die entsprechenden 
Aktionen aus.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tina schrieb:
> Waitms und waitus gehen mit ein paar
> for-loops, aber das ist leider nicht sonderlich genau.

Also beim AVR-GCC sind die Delays der Lib ziemlich genau, vorausgesetzt, 
der AVR läuft mit nem Quarz!


> Irgendwie deke ich da an den Timer, aber so recht kommt
> mir da keine zündende Idee...

Im Datenblatt steht alles nötige drin.
Den Timermode (CTC) setzen, den Vorteiler und das Compareregister, 
fertisch.

Ich weiß nicht, ob Bascom auch alle Konstanten zur Compilezeit 
ausrechnet.
Beim AVR-GCC schreibt man einfach die Formel hin und definiert die 
verwendete Quarzfrequenz und das gewünschte Zeitinterval.


Peter

Autor: aha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>Abzaehlen mit einer Zustandsmaschine
>Was ist denn das, eine "Zustandsmaschine"?
>
>Wo haben die hier nur ihre Terminologie her?


Eine Zeit wird mit einem Timer gemacht, und eine komplexe Sequenz von 
Pulsen mit einer Zustandsmaschine um einen Timer heum.

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.