www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Kontinuierliche UART Ausgabe


Autor: fbeek (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Leute, ich brauche mal eure hilfe bei einer schönen kontinuierlichen 
Ausgabe per uart.

Und zwar lese ich per ADC 8 Analog Werte ein und rechne diese um was 
alles super funktioniert.Auch die sprintf ausgabe eines einzellnen 
Wertes (zum Beispiel sende ich eine 1 zum Atmega8 und er gibt mir 
Channel 1: x.xx V zurück was auch klappt)

Nun möchte ich nicht jedesmal die Ausgabe anstossen sondern würde gerne 
zum beispiel die Werte der Kanäle 0-4 kontinuielich ausgeben um die 
Messwerte direkt im Auge zu haben.

Mein problem ist nun das er mir die natürlich immer hintereinander 
ausgibt was aber zu schnell ist um die werte lesen zu können.

Das sieht dann so aus:

Channel 0 : 0.010 V
Channel 1 : 0.015 V
Channel 2 : 0.007 V
Channel 3 : 0.020 V
Channel 0 : 0.010 V
Channel 1 : 0.012 V
Channel 2 : 0.007 V
Channel 3 : 0.022 V
Channel 0 : 0.010 V
Channel 1 : 0.015 V
Channel 2 : 0.007 V
Channel 3 : 0.020 V
Channel 0 : 0.007 V
Channel 1 : 0.015 V
Channel 2 : 0.007 V
Channel 3 : 0.020 V
Channel 0 : 0.010 V
Channel 1 : 0.012 V
Channel 2 : 0.007 V
Channel 3 : 0.022 V
...

Meine frage ist nun ob es eine Möglichkeit gibt die Ausgabe so zu 
optimieren das ich dann so etwas erhalte:

Channel 0 : 0.010 V
Channel 1 : 0.012 V
Channel 2 : 0.007 V
Channel 3 : 0.022 V

wobei sich nur die werte ändern,das Terminal fenster nicht dauernd 
Scrollt und ich die Werte auch lesen kann?

Hab schon versucht den Cursor zu setzten aber dann sieht man auch nicht 
mehr weil sich die Werte immer so schnell ändern das ich sie nicht 
erfassen kann.

Ich möchte nicht das mir jemand die Arbeit abnimmt will ja was lernen 
aber ich bräuchte einen Tip wie ich das besser machen kann und bin für 
jede Hilfe dankbar.


Gruss
Flo

Autor: Sascha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wenn die Positionierung mit dem Cursor funktioniert hat, sich aber die 
Werte zu schnell änderen, dann mach doch die Ausgabe über eine 
Timerfunktion, so das du die Zeit zwischen 2 Updates bestimmen kannst. - 
Oder miss nit so oft!

Sascha

Autor: fbeek (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für den Tipp aber mit dem runter schalten habe ich schon versucht 
dann habe ich aber das Problem das ich soweit runtergehen muss das es zu 
lange dauert bis sich die Werte Updaten.

MFG

Flo

Autor: Zorc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich wuerde eine Zeile so gestalten :

Channel0  Channel1  Channel2  Channel3
0.001V    0.234V    0.345V    0.236V
0.001V    0.234V    0.345V    0.236V
0.001V    0.234V    0.345V    0.236V
0.001V    0.234V    0.345V    0.236V
0.001V    0.234V    0.345V    0.236V
0.001V    0.234V    0.345V    0.236V

Autor: fbeek (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Damit ist es auch zu schnell.Ich denke das beste wäre es eine Software 
al client a PC zu schreiben was nicht das Problem wäre aber ich verstehe 
nicht wie ich auf den ComPort zugreife

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Damit ist es auch zu schnell.Ich denke das beste wäre es eine Software
>al client a PC zu schreiben was nicht das Problem wäre aber ich verstehe
>nicht wie ich auf den ComPort zugreife

Es geht also um die Ausgabe am PC.
In welcher Sprache würdest du denn gerne das PC-Programm schreiben?
Guck mal nach "VT100-Terminal".

Autor: Z8 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
fbeek wrote:

>Nun möchte ich nicht jedesmal die Ausgabe anstossen sondern würde gerne
>zum beispiel die Werte der Kanäle 0-4 kontinuielich ausgeben um die
>Messwerte direkt im Auge zu haben.

das ist der falsche Weg!

Wenn Dir ein Wert "durch die Lappen" geht stimmt nichts mehr!
Lieber bei jedem "Frame" neu initialisieren.

Autor: fbeek (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich hätte C und Java anzubitten, würde aber lieber C nutzen aber da 
bleibt mir ja auch nur die Ausgabe per Konsole. Das mit dem ReInit habe 
ich auch überlegt dann hab ich aber das Problem das die ausgabe 
flackert.

Ich habe hier noch ein Vellman K8055 Board das ich mit einem Labview 
Prog nutze da sind die Werte in den Ausgabe fenstern schön ordentlich. 
Vielleicht sollte ich noch sagen das ich mit der ausgabe einerseits 
Meine Netzteile einstellen möchte und das Target überwachen möchte ich 
aber keine lust hab immer das Multimeter umzustecken.

Autor: Zorc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man koennte auf ein VT100 Terminal schreiben und dann nach jeder Zeile 
ein <CR>, aber kein <LF> senden, dann wird das bestehende 
ueberschrieben.

Autor: Z8 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nein nicht :

>Das mit dem ReInit habe ich auch überlegt dann hab ich
>aber das Problem das die ausgabe flackert.

Sonder einen neuen Frame vom µC anfordern.

dh ein Protokoll aufbauen.

          Host                         RS232               µC

sende mir einen neuen Wert von Adr. X  ---->   Host misst und sendet 
zurück
                                                            |
                                                            |
                                                habe 0,123 gemessen
                                                            |
                                                            |
  Neuer Wert von Adr. X  <-----------------------------------
           |
           |
           |
    Wert 0,123 Anzeigen
     (auswerten)

Autor: fbeek (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Achso stimmt darauf bin ich nicht gekommen das stimmt natürlich damit 
könnte ich es in den Griff bekommen.

Hab gerade mal in das Labvie Prog geschaut da geht es auch so:

PC fordert Daten von allen Port und anschliessend werden diese 
dargestellt.

Danke für die Hilfe werde mich dann mal dran machen ein Client Tool zu 
schreiben.

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.