Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: RS232 ESC-Sequenzen an Terminal schicken Kategorie: Programmierung C (von PeterS - 5.05.2014 15:17)
Als Antwort auf Re: RS232 ESC-Sequenzen an Terminal schicken von karwenzman - 28.04.2014 15:51

> > > > >
> > > > > Das sieht alles so richtig aus. Bist Du sicher, das das Terminalprogramm
> > > > > VT100 beherrscht und es aktiviert ist?
> > > > >
> > > > > Gruss Peter
> > > > >
> > > >
> > > > Hallo Peter!
> > > >
> > > > Ich benutze diese IDE:
> > > > C-Control IDE Version:2.31.0.89
> > > > Compact-C Compiler Version:1.70.0.14
> > > > Bootloader Version: 1.10   Interpreter Version: 1.60
> > > > Hardware:C-Control MEGA 32   Hardware Rev:01
> > > > Connection Type:Serieller Port  (115kbd)
> > > >
> > > > wie kann ich überprüfen, ob das Terminal VT100 beherrscht?
> > > >
> > > > diese Befehle werden ausgeführt:
> > > > Serial_WriteText(0,"Test1 nr");
> > > > Serial_WriteText(0,"Test2 nr");
> > > > Serial_WriteText(0,"Test3 nr");
> > > > doch alles was ich per ESC-Sequenz übertrage nicht; da werden nur die Steuerzeichen angezeigt
> > > >
> > > > im Forum hatte ich gesehen, dass auch andere User mit den ESC-Sequenzen Probleme hatten;
> > > > doch der Thread wurde beendet
> > > >
> > > > hast du noch eine Idee?
> > >
> > >
> > > Hallo!
> > >
> > > Jetzt habe ich das Hyperterminalprogramm von Windows ausprobiert. Die Verbindung zum Board
> > > hat geklappt. Leider wird auch hier nur "Datenmüll" angezeigt: �ã[1;1f[2JHallo Welt
> > >
> > > Es liegt also wohl nicht am Terminalprogramm, sondern an einem Parameter (wüsste aber nicht,
> > > wo ich ihn finde oder wie ich ihn ändern könnte) - oder an einem Codefehler in meinem
> > > Programm (aber ich habe auch die Beispiele von CCPro getestet) - oder ???
> > >
> > > Könnt ihr mir weiterhelfen?
> > >
> > > Dank und GruÃ?, Thorsten
> > >
> > > Wie habt ihr das Problem bei euch behoben?
> >
> > Hast du das in der C-Control PRO IDE integrierte Terminal probiert?
> > Gib mal ein paar Dummyzeichen aus (123 Test) und mach eine Pause bevor Du die ESC Sequenz schickst...
> >
> >
>
> Hallo!
> Ja, ich benutze das integrierte Terminal der CCPRO IDE. Das mit der HyterTerminal von Windows war
> ein Versuch.
>
> //########## ASCIIwerte definieren #############################################
> #define SPACE 0x20
> #define LF 0x0A
> #define FF 0x0C
> #define CR 0x0D
> #define ESC 0x1B
>
> byte buffer[220];
> char str[80];
>
> Serial_Init_IRQ(0,buffer,20,200,SR_8BIT|SR_1STOP|SR_NO_PAR,SR_BD19200);
>
> Serial_Write(0,ESC);                            // ESC-Sequenz starten
>     AbsDelay(250);
> Serial_WriteText(0,"[1;1f");             // Cursor auf Terminalposition 1;1
>     AbsDelay(250);
> Serial_Write(0,ESC);                            // ESC-Sequenz starten
>     AbsDelay(250);
> Serial_WriteText(0,"[2J");             // Terminal löschen
>     AbsDelay(250);
> Serial_Write(0,ESC);                            // ESC-Sequenz starten
>     AbsDelay(250);
> Serial_Write(0,FF);                             // form feed
>     AbsDelay(250);
>
> Serial_WriteText(0,"f");             // Cursor Home
> Serial_WriteText(0,"1234567890 A nr");
> Serial_WriteText(0,"1234567890 B nr");
> Serial_WriteText(0,"1234567890 C nr");
>
> â?¬Ã£[1;1f[2J1234567890 A                                                          
> 1234567890 B                                                                    
> 1234567890 C
>
> auf dem Terminal wird folgendes ausgegeben:
> erst: �ã
> dann: [1;1f
> dann: [2J
> dann: 1234567890 A
> neue Zeile
> dann: 1234567890 B
> neue Zeile
> dann: 1234567890 C
> neue Zeile
>
> sieht so aus, als ob die ESC-Sequenz nur als Text angezeigt wird; alles was in "" steht,
> erscheint auch so auf dem Terminal
>
> diese Befehle werden korrekt ausgeführt:
> Serial_WriteText(0,"1234567890 A nr");
>
> diese Befehle werden anscheinend ignoriert, bzw auf dem Terminal gibt es keine Entsprechung:
> Serial_Write(0,FF);
> Serial_WriteText(0,"f");
>
> habe ich die richtige Syntax? Pausen an der richtigen Stelle? die variablen richtig dimensioniert?
> gibt es eine �bersicht, welche ESC-Sequenzen CCPRO unterstützt?
>
> Für weitere Hilfe bin ich sehr dankbar.
>
> GruÃ?, Thorsten

Hallo,

ich habe das nochmal überprüft, Dein Programm arbeitet richtig. Lass bitte
auch die AbsDelay Pausen weg. In die VT100 Komponente im Terminalprogramm
der IDE hat sich nur ein Bug eingeschlichen, und es interpretiert die
Sequenzen nicht korrekt. Das werde ich im nächsten Update korrigieren.

Aber jedes andere Terminalprogramm mit VT100 sollte damit funktionieren.

siehe http://en.wikipedia.org/wiki/List_of_terminal_emulators

Gruss Peter


    Antwort schreiben


Antworten:

Re: RS232 ESC-Sequenzen an Terminal schicken (von PeterS - 5.05.2014 15:38)
    Re: RS232 ESC-Sequenzen an Terminal schicken (von karwenzman - 11.05.2014 15:41)