tastenkombination "strg-z " senden
-
Hallo Leute!!!
Ich habe im unteren ein kleines Programm bei dem mir vielleicht jemand helfen kann:
ich gebe der Funktion ein Array mit einem Text. die Funktion sendet über der seriellen Schnittstelle den Text wie ein hyperterminal. Ist die variable kontrolle1=1 dann gibt er zu dem Array zum schluss das enterzeichen dazu, dieses
brauche ich für bestimmte Befehle die ich an das gerät senden muss. Jetzt müsste ich das so machen können, dass ich auch die Tastenkombination "strg-z" (müsste wenn ich mich nicht täusche der ASCII-26 sein,befehl SUB) senden kann. Ich weiss leider nicht wie man das macht, beim Enterzeichen habe ich nach probieren herausgefunden dass das Zeichen "\x0" dass enterzeichen ist. Könnte mir vielleicht jemand helfen. Ich bedanke mich im voraus für euere Hilfe!!!int enterzeichen (char befehl [100])
{
int z=0;while (befehl[z]!='\x0')
{
z++;}
befehl [z]='\r';
befehl [z+1]='\x0';
return 1;
}/***********************************************************/
/***********************************************************/
int terminal (char befehl[100],int kontrolle1)
int c=0;
int po=0;
int ch=0;
int bdlow=0;
int bdhigh=0;
float bdanz=0;
char abfr1=0;
char abfr2=0;
int i=0;
int a=0;
int ab=0;/ po=1016; //com1
po=760; //com2bdlow=12; //9,600 kbps
bdhigh=0; //9,600 kbps
bdanz=9.600; //9,600 kbpsoutportb(po + 1 , 0); //Interrupt und FIFO Register ausschalten
outportb(po + 2 , 0); //Interrupt und FIFO Register ausschalten
outportb(po + 3 , 128);
outportb(po + 0 , bdlow);
outportb(po + 1 , bdhigh);
outportb(po + 3 , 0);
outportb(po + 3 , 3);c=inportb(po);
c=0;
int s=0;
int p=0;
int l=0;
int m=0;
int q=0;
int w=0;if (kontrolle1==1)
{
enterzeichen(befehl);
}do
{c=inportb(po+5);
if (c&1)
{
antwort[s]= inportb(po);
printf ("Read=%c ",antwort[s]);
// printf ("\nAT:%c_%i__s=%i--c=%i",antwort[s],antwort[s],s,c);
s++;
p=0;
}
else
{
p++;
}// printf ("%i",p);
if (befehl[q]!='\x0')
{
outportb(po,befehl[q]);
printf ("Send=%c ",befehl[q]);
// printf ("\nBT:%c___%i",befehl[q],q);
delay (1);
q++;
;
}if (p==30000)
{
i=1;
}} while (i!=1);
}
-
\x1a ?
Dies wäre 26 (dezimal) nach Hexadezimal.
-
Oder einfach 26. f'`8k
Gruß, TGGC (\-/ returns)
-
Ich bedanke mich recht herzlich für eure schnelle und richtige Hilfe!!!!!
Danke
gruß xyzabc
-
Ich finde du solltest mal deine Einrückung überarbeiten. Dann fällt es anderen auch leichter dein code zu verstehen, weil er Übersichtlicher wird, auch wenn es in diesem Fall auch so geklappt hat.