Terminal Software mit Scripting Hex ->INT

Gast #448976
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...
Gast #449002
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.
Gast #449057
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.
Gast #449085
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...
Gast #449092
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...
Gast #449112
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.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.