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...
> 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.
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 ??
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.
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.
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...
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...
> 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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.