-
        

Ergebnis 1 bis 5 von 5

Thema: Terminalausgabe tunen

  1. #1

    Terminalausgabe tunen

    Anzeige

    Hallo Miteinand

    Ich messe mit meinem ATMEGA eine Temperatur, dies geschieht so schnell er laufen kann, da er auch entsprechend schnell reagieren soll. Nicht ganz so schnell kann ich den Bildscirm ablesen.
    WIe kann ich es realisieren dass mein Wert entweder immer an der selben Stelle auf dem Terminal aktualisiert wird oder nur alle z.B. 2 Sekunden neu geschriben wird?
    Also entweder den Zeilenvorschub ausschalten oder über Timer eben. Mit dem Timer hab ich leider noch garnicht gearbeitet, außer WAITMS .. wenn man das dazuzählen kann. Wenn da jemand ein paar Zeilen COde für mich hätte....
    Wäre echt klasse...

    Weihnachtliche Grüße niemalsaufgeben

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    25.02.2005
    Beiträge
    175
    Du kannst ja auch die Wertausgabe davon abhängig machen, ob sich der Wert verändert hat, z. B. so:

    If Messwert <> Messwert_old then
    Messwert_old = Messwert
    Print Messwert
    end if

    Ansonsten bleibt wirklich nur ein timer-gesteuerter Interrupt.
    Wie schnell der Timer durchläuft, ist abhängig von Taktfrequenz, Prescaler und Preset-Wert, dazu gibt´s hier ein Berechnungstool, den Link weiß ich jetzt grade nicht...

    Die Programmierung ist aber eigentlich recht simpel, in der Bascom-Hilfe findest Du alle notwendigen Erklärungen.

    In etwa so geht das, ohne Gewähr, ist nur so runtergetippt:

    Code:
    Presetwert=(???)
    
    Config Timer1 = Timer , Prescale = (???)
    On Timer1 Wert_drucken
    Enable Interrupts
    Timer1=Preset_Wert
    Enable Timer1
    
    Do
    'Hier steht Dein Hauptprogramm
    loop
    
    Wert_drucken:
    Timer1=Presetwert
    Print Messwert
    return
    Die mit (???) zugewiesenen Werte müsstest Du gemäß dem Berechnungstool mit Leben füllen.

    Bei jedem Overflow von Timer1 wird dann die Subroutine Wert_drucken ausgeführt.

    Frohe Weihnachten und viele Grüße

    Torsten

  3. #3
    Oh ja. Das sieht gut aus. Es muss die Timervariante werden, da der Wert sich eigentlich ständig ändert, und auch noch zum Teil sehr schnell.
    Ich Suche mal ein wenig nach der Berechnung.

    Danke

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    25.02.2005
    Beiträge
    175
    Hab´s gefunden, klickst Du hier:

    http://www.roboternetz.de/phpBB2/dlo...le&file_id=169

    Wahrscheinlich wirst Du bei einem 2-sekunden-Takt einen 16-Bit-Timer nehmen müssen, oder du erzeugst Dir einen 10ms-Impuls und zählst den bis 200 hoch...

    Grüße

    Torsten

  5. #5
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    WIe kann ich es realisieren dass mein Wert entweder immer an der selben Stelle auf dem Terminal aktualisiert wird oder nur alle z.B. 2 Sekunden neu geschriben wird?
    Schau dich da mal um bei "ANSI"
    http://www.roboternetz.de/wissen/index.php/Terminals
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •