Auslesen einer seriellen Schnittstelle (Win XP)



  • Hallo,

    bräuchte dringend ein Programm welches unter Win XP die serielle Schnittstelle ausliest. Toll wäre es wenn die ankommenden Daten in eine Datenbank oder Tabelle geschrieben werden könnten.
    Leider habe ich auf google nichts gefunden. Nur Codes mit denen ich nichts anfangen kann.

    Hintergrund:
    Messwerte sollen auf einen Micro-controller übertragen werden, und von dort auf den PC!

    Ich weiß, das Thema dürfte schon tausend mal aufgetaucht sein. Ich hab auch die Suchfunktion benutzt aber nichts passendes gefunden. Wäre also nett wenn niemand mit: "Benutz die Suchfunktion" o.ä. antwortet.
    Es ist wirklich dringend 😞



  • Hier gehts weiter falls sich noch jemand zu äussern müsste damit nicht alles 5 mal gepostet wird
    http://www.fun-soft.de/showtopic.php?threadid=11035



  • Jo also in diesem Forum hat mich Windalf auf diesen Quelltext hingewiesen:

    //Initialisieren der Schnittstelle
    HANDLE h_com = CreateFile("COM1", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0 , NULL);
    
    DCB dcb;
    COMMTIMEOUTS cto;
    
    GetCommState(h_com, &dcb);
    
    //hier kannst du die Übertragunsparameter definieren diese 4 sollten die wichtigsten sein, an sonsten einfach mal die members von DCB anschauen
    dcb.BaudRate = 9600;
    dcb.ByteSize = 8;
    dcb.Parity   = NOPARITY;
    dcb.StopBits = ONESTOPBIT;
    
    SetCommState(h_com, &dcb);
    
    GetCommTimeouts(h_com,&cto);
    
    //hier kannst du die timeouts definieren in diesem falle ohne timeout
    cto.ReadTotalTimeoutConstant=0;
    cto.ReadTotalTimeoutMultiplier=0;
    
    SetCommTimeouts(h_com,&cto);
    
    //lesen ist mit Readfile
    unsigned long nBytesRead;
    char inbuffer[100];
    ReadFile(h_com, &inbuffer, 100, &nBytesRead, NULL); //in diesem falle 100 bytes einlesen
    //schreiben analog mit Writefile
    
    //am ende schliessen nicht vergessen
    CloseHandle(h_com);
    

    Leider verstehe ich nicht wie ich das Programm einsetzen muss. Nur compilieren oder in ein anderes Programm einbinden?!

    Ich habe zwar C++ gelernt, aber eben nur das Standard-Zeugs 🙂


Anmelden zum Antworten