Forum: Mikrocontroller und Digitale Elektronik Terminal Software mit Scripting Hex ->INT


von Jörn (Gast)


Lesenswert?

Hy

ich habe jetzt schon verschiedene "Terminal" Programme ausprobiert aber 
nix passendes gefunden.

Ich möchte das empfangene über den COM Port umwandeln... alles kommt als 
HEX am PC an.

8 Bit + 8Bit = 1Zahl
8 Bit + 8Bit = 2Zahl
8 Bit + 8Bit = 3Zahl

wieder von vorne...

wie kann ich dem Terminal-Programm sagen das er jeweils zwei HEX Werte 
zusammenfasst und mir in eine lessbare Zahl wandelt...

von Hans (Gast)


Lesenswert?

> Ich möchte das empfangene über den COM Port umwandeln... alles kommt als
> HEX am PC an.

Tatsache? Ich dachte PCs arbeiten immer noch binär. Aber wenn es schon 
in HEX ankommt, arbeitet doch bestimmt auch das Terminalprogramm in HEX.

von Jörn (Gast)


Lesenswert?

ja klar kommt es binär an...
die Anzeige von HEX ist ja auch kein Problem. Nur die Anzeige von ASCII, 
da es ja schlecht wissen kann das immer 16Bit ein Block sind...
also vielleicht ne Idee ??

von F. K. (freddy436)


Lesenswert?

Ich würde mich mal an den Author von "HTerm" wenden (Treibt sich u.a. 
auch hier herum), dort gibt es eine Option "Receive bitmask", ich weis 
zwar nicht genau was das sein soll, aber ich könnte mir vorstellen das 
das in die Richtung geht.

von Hans (Gast)


Lesenswert?

Es gibt genug opensource-Terminalprogramme. Die kann man problemlos 
leicht modifizieren.
Wenn dir das zu kompliziert ist, zeichne die empfangenen Daten in eine 
Binärdatei auf und stelle den Inhalt anschliessend wie gewünscht dar.
Wenn dir das auch zu kompliziert ist, bist du in einem 
Mikrocontrollerforum falsch und du solltest einen Auftrag an eine 
Softwareentwicklungsfirma erteilen.

von Jörn (Gast)


Lesenswert?

ja das ganze sollte schon in Real time funktionieren. aufzeichnen geht 
daher leider nicht.

Lieber "Hans" wenns so einfach ist erklärs mir doch einfach kurz! Flotte 
Sprüche helfen nicht weiter...

von Jörn (Gast)


Lesenswert?

ja das mit den BitMask scheint die richtige Richtung zu sein. Leider 
geht das nur bis 8Bit... mehr scheint kein Programm zu erkennen, da das 
ja die längste Kombination bei der Übertragung ist...

von Hans (Gast)


Lesenswert?

> ja das ganze sollte schon in Real time funktionieren. aufzeichnen geht
> daher leider nicht.

Davon hattest du nichts geschrieben. Aber ein modifiziertes 
Terminalprogramm macht auch das.

> Lieber "Hans" wenns so einfach ist erklärs mir doch einfach kurz! Flotte
> Sprüche helfen nicht weiter...

Das merkt man.
Patche den Code einfach so:
- while(1){
-   c=getchar();

+ int i=0;
+ char a[6];
+ while(1){
+   c=getchar();
+   a[i]=c;
+   if (i==0) printf("%s",hex3(s,a));
+   free(s);
+   i++; i%=6;

Ist das kurz genug? Je nachdem welchen Code du verwendest, ist die 
hex3-Funktion evtl. leicht anders implementiert. Aber das bekommst du 
sicherlich hin.

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.