-         

Ergebnis 1 bis 8 von 8

Thema: Spezielles Ascii zeichen im Hyperterminal ausgeben

  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    04.04.2005
    Ort
    Hamburg
    Alter
    29
    Beiträge
    826

    Spezielles Ascii zeichen im Hyperterminal ausgeben

    Anzeige

    Moin

    Also ich möchte mir im Hyperterminal bequem ein paar Werte anzeigen lassen. Und damit dass ganze übersichtlich bleibt soll die aktuelle Anzeige gelöscht werden. Dazu will ihc das Ascii zeichen 012 nehmen.

    Das geht auch gut, wenn ich im Hyperterminal Alt+012 eingebe, wird das signal ja reflektiert und mir also wieder angezeigt und die Anzeige ist leer. Funktioniert so wunderbar. Damit würde ich auch noch gerne Ascii zeichen ausgeben, aber das Problem ist das gleiche.

    Durch zufall bin ich einfach darauf gekommen dass ich ja einfach nur die Zahl des Ascii Zeichens schicken muss. Das Hyperterminal interpretiert dass dann ja.

    Also hab ich folgendes gemacht:

    Code:
    unsigned char letter[] = {012};
    SerWrite(letter,1);
    Das ganze erzeugt komischerweise aber nur einen Zeilenumbruch. Und es passiert auch bei anderen Zeichen nicht das gewünschte Ergebnis. Habt ihr das Ideen? Danke. Andun P.S.: Meine Idee ist dass vielleicht die nötige 0 vor dem 12 nicht immer passt. Wenn man nämlich im Hyperterminal nur Alt+12 eingibt kommt ein "?". Habt ihr nen Tipp für mich?
    www.subms.de
    Aktuell: Flaschcraft Funkboard - Informationssammlung

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    26.10.2004
    Ort
    Feldkirchen in Kärnten
    Beiträge
    203
    Hast dus mal ohne der 0 versucht? also einfach 12 hinzuschicken?

    Edit: Btw. nicht hyperterminal interpretiert dein zeichen richtung, sonder der compiler übersetzt den wert 12 einfach in das dazugehörige ascii zeichen weil du alles in ne char variable speicherst.

  3. #3
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Schau mal, vielleicht findest du was passendes

    http://www.roboternetz.de/wiki/pmwik...Main.TermANSII
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    04.04.2005
    Ort
    Hamburg
    Alter
    29
    Beiträge
    826
    Danke. Der Artikel ist schon nicht schlecht.

    Aber dann hab ich immer noch nicht das Problem gelöst, dass ich nciht ganz verstehe wie ich das Zeichen senden soll.

    Kann mir da vielleicht mal einer nen Codeschnipsel posten? Also an die SerWrite() muss ich ja die Adresse des char Arrays übergeben, oder? Bzw. ist ein Array ja immer nur die Adresse des ersten Zeichens.
    Aber wie bring ich jetzt den Compiler dazu genau dass Zeichen da abzuspeichern was ich haben will? Das haut bei mir irgendwie nicht hin.

    Könnt ihr mir da nochmal helfen? Danke

    Andun
    www.subms.de
    Aktuell: Flaschcraft Funkboard - Informationssammlung

  5. #5
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Code:
    char cHome[] = "\033[1;1H";   // <ESC>[1;1;H  Home
    char cClear[] = "\033[2J";       // <ESC>[2J   Clear Screen
    
    SerWrite(cHome, strlen(cHome));
    SerWrite(cClear, strlen(cClear));
    sollte zum Schirm putzen reichen.

    !Hyperterm auf VT100 Mode !
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    04.04.2005
    Ort
    Hamburg
    Alter
    29
    Beiträge
    826
    Dankeschön. So was wollte ich haben.
    www.subms.de
    Aktuell: Flaschcraft Funkboard - Informationssammlung

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    22.11.2003
    Beiträge
    991

    Re: Spezielles Ascii zeichen im Hyperterminal ausgeben

    Zitat Zitat von Andun
    Code:
    unsigned char letter[] = {012};
    SerWrite(letter,1);
    Naja, das es nicht funktioniert liegt vielleicht daran, dass du ihm die oktale Zahl 12 geschickt hast ( = 10 Dezimal ). Das mit dem Zeilenumbruch ist also genau richtig

    Code:
    unsigned char letter = 12;
    SerWrite(&letter,1);
    So sollte es also stimmen. ( Wenn SerWrite() einen Pointer übergeben haben will )

    MfG Kjion

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    04.04.2005
    Ort
    Hamburg
    Alter
    29
    Beiträge
    826
    Achso, ok.

    Mhh . . . Ihm einfahc nur die 12 so aleine zu ergeben ist natürlich eigentlihc richtig und ich seh das auch voll ein, aber ich grad am überlegen warum ich das so nicht hattE? Das hab ich doch bestimmt mal ausprobiert. ??? Naja, egal. Jetzt gehts. Danke.
    www.subms.de
    Aktuell: Flaschcraft Funkboard - Informationssammlung

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •