ASCII-Zeichen über MSComm an seriellen Port ausgeben



  • Hallo,
    ich will ASCII-Zeichen über MSCOMM an ein Gerät als Steuerbefehle senden. Das Gerät erwartet als Befehle die ASCII-Zeichen im Bereich von 0-127, d.h. ich ahbe den ASCII-Code will aber das Zeichen ausgeben.
    In Pascal habe ich das bereits realisiert mit z.B. XWrite (ComPort, chr($00)) und es funktioniert.

    mein Quelltext in C++ lautet.

    COleVariant var;
    int wert;
    CString wort;
    char zeichen[1];

    zeichen[1] = wert;
    wort ="";
    wort += zeichen;
    var = COleVariant (wort);
    m_commMSComm1Strg.SetOutput(var);

    leider wird nichts ausgegeben. Kann mir jemand helfen, wie ich das Zeichen über MSComm rausbringe?

    Im Voraus Danke.

    Berno



  • Servus,

    ich weiss zwar nicht was XWrite in Pascal macht aber du solltest dir erstmal eine Verbindung aufbauen, zumal es noch nicht geschehen ist. Meistens verlangen bestimmte Geräte Vorabkonfigurationen. Comport: 1, Baud: 4800, Datenbits: 4711 etc.
    Hast du diese Einstellungen auch schon gemacht, dann solltest du mal überlegen ob dein Gerät am anderen Ende Sendebereit ist. Einige müsstest du mit bestimmten Steuerbefehlen (ETX, STX, etc.) ersteinmal in Bereitschaft versetzen.

    Hast du das auch schon gemacht dann hast du wahrscheinlich irgendwo Mist gebaut. 😃 Aber dafür gibs ja auch ne Lösung. Google Eintrag: comm "SetOutput(" -> 2ter Eintrag -> http://forums.devshed.com/archive/t-37412

    Dort findest du einen schönen Forumsbeitrag und gleichzeitig auch ein schönes Tut zur ActiveX Steuerkomponente.

    Sollte das auch nicht gelingen gibt es noch die Suche hier im Forum (Das Thema wird ständig behandelt und es gibt reichlich Beiträge dazu), FAQ (Ein schöner Beitrag von Unix-Tom? für SerialPort) oder auch www.naughter.com gibs eine schöne CSerial Klasse mit der man einfach de Port ansprechen kann.

    Geht das dann immernoch in die Hose gibt es noch www.codeproject.com (ne Menge Zeugs für Serial), www.codeguru.com (auch ne Menge Holz) etc.

    Wenns nun immernoch nicht funktioniert und dir keiner direkt weiterhelfen kann, gibs noch eine Lösung:

    "Gib den Beruf auf und werde Metzger!!!" 😃

    *winke*
    Hellsgore


Anmelden zum Antworten