Forum: Mikrocontroller und Digitale Elektronik Kontinuierliche UART Ausgabe


von fbeek (Gast)


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

von Sascha (Gast)


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

von fbeek (Gast)


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

von Zorc (Gast)


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

von fbeek (Gast)


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

von STK500-Besitzer (Gast)


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".

von Z8 (Gast)


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.

von fbeek (Gast)


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.

von Zorc (Gast)


Lesenswert?

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

von Z8 (Gast)


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)

von fbeek (Gast)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.