Bitmuster

Gast #273490
Lesenswert?
• ▲
▼
ich möchte mit atmege16 ein besimtes bitmuster ausgeben also 1us ein,
1ms aus  4s ein 1us aus 14s ein ..... wie ist das am besten zu
realisieren ? ich versuche es mit verschachtelten schleifen also so:

  ldi    zaehlreg3,  anfangswert
  zeitschleife4:


    ldi   zaehlreg2,  anfangswert

  zeitschleife3:
    ldi    zaehlreg,  anfangswert
  zeitschleife2:

    dec    zaehlreg
    brbc  1,  zeitschleife2



    dec   zaehlreg2
    brbc  1,  zeitschleife3


    dec    zaehlreg3
    brbc  1,  zeitschleife4



aber ich kann mir nicht vorstellen das daß der elleganteste weg ist.
Gast #273491
Lesenswert?
• ▲
▼
Schau mal ins Datenblatt von deinem "atmege16" dort findest du
bestimmt einen Eintrag "Timer", im AVR-GCC-Tutorial hier findest du
dazu auch infos.

Den timer stellst du dir schön schnell ein und im timer arbeitest du
dann deine zeit-werte ab indem du ein zählregister hast das bis zu
einen bestimmten Zeitwert zählt (wenn dein Timer zB mit 40000 Hz läuft
und du 2 sekunden warten willst dann zählt er halt bis zu einen
Zeitwert von 80000) und nachdem dieser wert erreicht ist führst du eine
Aktion aus (zB einen port pin low setzen) und dann lädst du einen neuen
Zeitwert und lässt das zählregister wieder bei 0 anfangen.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 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.