tastenkombination "strg-z" senden

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • 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!!!


    Quellcode

    1. int enterzeichen (char befehl [100])
    2. {
    3. int z=0;
    4. while (befehl[z]!='\x0')
    5. {
    6. z++;
    7. }
    8. befehl [z]='\r';
    9. befehl [z+1]='\x0';
    10. return 1;
    11. }
    12. /***********************************************************/
    13. /***********************************************************/
    14. int terminal (char befehl[100],int kontrolle1)
    15. int c=0;
    16. int po=0;
    17. int ch=0;
    18. int bdlow=0;
    19. int bdhigh=0;
    20. float bdanz=0;
    21. char abfr1=0;
    22. char abfr2=0;
    23. int i=0;
    24. int a=0;
    25. int ab=0;
    26. / po=1016; //com1
    27. po=760; //com2
    28. bdlow=12; //9,600 kbps
    29. bdhigh=0; //9,600 kbps
    30. bdanz=9.600; //9,600 kbps
    31. outportb(po + 1 , 0); //Interrupt und FIFO Register ausschalten
    32. outportb(po + 2 , 0); //Interrupt und FIFO Register ausschalten
    33. outportb(po + 3 , 128);
    34. outportb(po + 0 , bdlow);
    35. outportb(po + 1 , bdhigh);
    36. outportb(po + 3 , 0);
    37. outportb(po + 3 , 3);
    38. c=inportb(po);
    39. c=0;
    40. int s=0;
    41. int p=0;
    42. int l=0;
    43. int m=0;
    44. int q=0;
    45. int w=0;
    46. if (kontrolle1==1)
    47. {
    48. enterzeichen(befehl);
    49. }
    50. do
    51. {
    52. c=inportb(po+5);
    53. if (c&1)
    54. {
    55. antwort[s]= inportb(po);
    56. printf ("Read=%c ",antwort[s]);
    57. // printf ("\nAT:%c_%i__s=%i--c=%i",antwort[s],antwort[s],s,c);
    58. s++;
    59. p=0;
    60. }
    61. else
    62. {
    63. p++;
    64. }
    65. // printf ("%i",p);
    66. if (befehl[q]!='\x0')
    67. {
    68. outportb(po,befehl[q]);
    69. printf ("Send=%c ",befehl[q]);
    70. // printf ("\nBT:%c___%i",befehl[q],q);
    71. delay (1);
    72. q++;
    73. ;
    74. }
    75. if (p==30000)
    76. {
    77. i=1;
    78. }
    79. } while (i!=1);
    80. }
    Alles anzeigen