Elegante Möglichkeit Pulsfolgen auszugeben

Gast #1381383
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...
Gast #1381384
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?
Gast #1381467
>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)
Gast #1381501
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.
#1381511
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
Gast #1381628
>>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

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.