Frage zum einlesen von Daten! Bitte um Hilfe



  • Ich habe vor kurzer Zeit schon einmal hier etwas gefragt, aber die Frage hat sich dann von selbst erledigt und ich habe mich mit dem Thema befasst und soweit so gut, es funktioniert teilweise auch mehr oder minder perfekt!
    Mein Ziel vorerst einmal:
    Ich sende über den Com port daten von einem pc und will mir die daten einfach anzeigen lassen auf dem anderen, also so wie : prinft("hallo"), so soll es mir dann in dem Fenster die gesendeten daten ausgeben!

    Mein sende code(funktioniert, mit einigen Terminalprogrammen getestet)_

    #include <windows.h>
    #include <stdio.h>
    #include <mmsystem.h>
    #include <cstdlib>
    #include <iostream>
    #include "Serial.h" 
    
    using namespace std;
    
    CSerial COMPort;
    
    int main(int argc, char *argv[])
    {
            COMPort.Open(5,19200);
    
            std::string str ("Hallo! Hoffe ihr koennt mir helfen!");
            COMPort.SendData (str.c_str(), str.length()+1);
            printf("%s",str.c_str());
            getchar();
    
            COMPort.Close();
            return EXIT_SUCCESS;
    
    }
    

    Ich würde mich freuen, wenn ihr mir vielleicht senden könntet, wie ich
    die daten auf dem anderen pc einlesen kann! so ein befehl wie COMPort.ReadData, oder so, wäre toll, wenn es den gibt, habe nur nichts genaues gefunden!
    nur vorgefertigte komplizierte programme, die nicht funktionieren bzw., die ich
    nirgends implementieren kann, weil sie einfach zu kompliziert sind!
    ich möchte einfach alle daten, die ich hier sende, auf dem anderen pc anzeigen lassen!

    lg

    The Hero/Noob



  • Google gibt mir das: http://www.codeguru.com/cpp/i-n/network/serialcommunications/article.php/c2503

    COMPort.ReadData(2) sollte also funktionieren.



  • So, habe mir mit der Hilfe der Befehle auf der Seite(siehe oben), das zusammengestellt, nur es gibt mir immer gesendete Bytes 0 aus!
    Die ansteuerung, also das senden funktioniert allerdings, habe ich mit Terminalprogrammen probiert! nur es empfängt niemals die daten anscheinend mithilfe dieses programms!
    kann mir wer behilflich sein?
    sendeprogramm(funktioniert) : oben
    Empfangsprogramm(funktioniert nicht) : gleich hier drunter!

    danke

    #include <windows.h>
    #include <stdio.h>
    #include <mmsystem.h>
    #include <cstdlib>
    #include <iostream>
    #include "Serial.h" 
    
    using namespace std;
    
    CSerial COMPort;
    
    int main(int argc, char *argv[])
    {
    
         COMPort.Open(5,19200);
         if (COMPort.Open(5, 19200))
         {
          char* lpBuffer = new char[500];
          int nBytesRead = COMPort.ReadData(lpBuffer, 500);
          printf("%d",nBytesRead);
          getchar();
    //      delete []lpBuffer;
         }
    }
    

Anmelden zum Antworten