Voltcraft VC820(840) serielles Protokoll decodieren

Gast #5425821
Lesenswert?

Hallo zusammen,
ich benötige Hilfe beim zerlegen den Seriellen Protokolls meines 
Voltcraft VC820.
Habe bereits ein Dokument zum Protokoll gefunden, 
http://www.carl-engler-schule.de/culm/culm/culm2/th_messtechnik/labview/vis/vc820/121111-da-01-en-Digitalmultimeter_VC820_Schnittstellenp.pdf

Leider jedoch verstehe ich nicht so recht, wie ich die Bit-Operationen 
durchführen soll um schließlich die Bytes zu zerlegen und die 
tatsächlichen Werte zu errechnen.
Habe noch nicht mit Bit-Operationen bis dato machen müssen und würde 
mich freuen wenn mir da jemand helfen könnte, wie ich richtig anfange.

Ziel ist es aus den 14Bytes am PC ein sinnvolles Ergebniss zu erlangen 
und dann Code zu schreiben um es in einen Microcontrollerr zum 
Datenloggen zu portieren.
Dort läuft die SD Karte schon auf einem Arduino Nano.

Wäre sehr dankbar, wenns da nen Denkanstoß in die richtige Richtung 
gäbe.
Gast #5425856
Lesenswert?

Thomas B. schrieb:
> Voltcraft VC820.
> Habe bereits ein Dokument zum Protokoll gefunden,

Fertigen Source-Code gibt es hier, hier und hier:
 - http://true-random.com/homepage/projects/vc840/index.html
 - https://www.a-netz.de/blog/2007/08/vc820-software-de/comment-page-1/
 - Beitrag "Programm zum billigen DMM VC820/VC840"

Für Bit-Operationen liest du mal ein C- Lehrbuch oder das hier:
 - https://www.mikrocontroller.net/articles/Bitmanipulation
Gast #5427433
Lesenswert?

Zitat aus dem Protokoll:
http://www.carl-engler-schule.de/culm/culm/culm2/th_messtechnik/labview/vis/vc820/121111-da-01-en-Digitalmultimeter_VC820_Schnittstellenp.pdf
>15, 25, 3B, 40, 55, 67, 7D, 8F, 9E, A0, B0, C0, D1, E1
>
>Die oberen 4 Bit eines Byte geben die Reihenfolge der
>einzelnen Bytes an. Beginnend mit 1 wird bis E durchnumeriert.
>Die unteren 4 Bit eines Byte geben den Einschaltzustand der auf dem Display 
>angezeigten Segmente wieder.


Beispieldatensatz im VoltMesserbereich
76,F3,26,01,99,72,E4,C7,E3,F1,E2,78,78,00
oder µAmpere
74,6C,61,5C,51,4C,41,3A,18,71,E2,18,78,00

Wenn ich also im Terminal einen Datensatz habe der anderweitig lautet 
als folgenden mit X als Platzhalter für die unteren 4Bits jedes Bytes 
stimmt etwas mit meinem Adapter zum Multimeter hin nicht?

Soll das Schema also IMMER folgendes sein?

1X, 2X, 3X, 4X, 5X, 6X, 7X, 8X, 9X, AX, BX, CX, DX, EX

Ich steh glaub ich grad total aufm Schlauch.....SORRY
Gast #5427450
Lesenswert?

Vielen Dank zu der Info bzgl. dem FS9721 so hatte ich das aus dem 
anderen Dokument bereits verstanden. Aber es ist schön eine "klarere" 
Bestätigung zu sehen. Merci

OK, also währe meine "theoretische Sollinterpretation" von ein Datensatz 
sollte lauten: (und ich klau mal die korrekte HEX Schreibweise^^)

0x1?, 0x2?, 0x3?, 0x4?, 0x5?, 0x6?, 0x7?, 0x8?, 0x9?, 0xA?, 0xB?, 0xC?, 
0xD?, 0xE?

So sehen meine aber noch nicht aus....

ich denke nun muss ich erstmal an meinem Adapter herumspielen, ich 
glaube es liegt an der Flankensteilheit den High/Low Pegel. Oder 
vielleicht der Flugverdrahtung aufm Breadboard. Mal das Oszi auspacken 
und gucken wie die Rise/Fall Times aussehen.

Zumindest bekomm ich schonmal klar strukturierte 14Bytes die sich im 
Schema widerholen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren