Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Datenempfang per serieller Schnittstelle

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
16.11.2005, 17:39 Uhr
~Softwarenull
Gast


Leute, bitte helft mir, ich muss es so schnell wie möglich hinkriegen, Daten von einem Com-Port einzulesen und in eine Datei zu schreiben. Wie mein Nick schon sagt, bin ich ne Null bzw. nen Newbie in C++ und diesen seriellen-Com-Sachen.
Ich hab nun erstmal nen Beispielcode von der msdn-Seite genommen und wollte es in VC++ ausprobieren, aber da gibts die unten stehenden Fehlermeldungen. Hab schon gelesen, dass das damit zusammenhängen könnte, dass ich so ne kostenlose Express-Version habe.
Hier erstmal der Code


C++:
#include "stdafx.h"
#include <stdio.h>
#include <afx.h>


int _tmain(int argc, _TCHAR* argv[])
{
        char *lpBuf="";
        DWORD dwRead;
        DWORD READ_BUF_SIZE=0;;
        BOOL fWaitingOnRead = FALSE;
        OVERLAPPED osReader = {0};
        HANDLE hComm;

        hComm = CreateFile( TEXT("COM5:"),  
                            GENERIC_READ,
                            0,
                            0,
                            OPEN_EXISTING,
                            FILE_FLAG_OVERLAPPED,
                            0);
        if (hComm == INVALID_HANDLE_VALUE)
           // error opening port; abort



        // Create the overlapped event. Must be closed before exiting
        // to avoid a handle leak.
        osReader.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL);

        if (osReader.hEvent == NULL)
           // Error creating overlapped event; abort.

        if (!fWaitingOnRead) {
           // Issue read operation.
           if (!ReadFile(hComm, lpBuf, READ_BUF_SIZE, &dwRead, &osReader)) {
               if (GetLastError() != ERROR_IO_PENDING) {}     // read not delayed?
                 // Error in communications; report it.
              else
                 fWaitingOnRead = TRUE;
           }
           else {    
              // read completed immediately
              /* HandleASuccessfulRead(lpBuf, dwRead); */
            }
        }
    return 0;
}




Vermutlich ist der Code echt Müll so, aber ich wollts nur mal ausprobieren. Allmählich wird die Zeit knapp und ich steh echt unter Druck, vielleicht könnt Ihr mich ja retten.


Die Fehlermeldungen:
test.obj : warning LNK4229: invalid directive '/ignore:4089' encountered; ignored
LINK : fatal error LNK1104: cannot open file 'uafxcwd.lib'
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: