Forum: PC-Programmierung Programmschleifen in einem Dialogfeld


von Karlheinz Druschel (Gast)


Lesenswert?

Hi Leuts,

ich habe hier Visual Studio.net 2003.
Nun möchte ich kontinuierlich Zeichen die über die RS232 reinkommen
anzeigen.
Damit es einfach geht habe ich mit dem Assistenten ein
MFC-Programmgerüst erstellt, das auf einer Dialogbox basiert.
Die Frage ist nun, wo schreibe ich die Schleife für das Programm
(Zeichen einlesen, falls was da ist ausgeben) ?
Das Programm muss ja nach wie vor über einen Button abbrechbar
sein....



Greets
Karlheinz

von Karl heinz B. (kbucheg)


Lesenswert?


von MasterFX (Gast)


Lesenswert?

Ganz einfach (hättest auch auf MSDN nachlesen können). Ich gehe jetzt
davon aus das du die Initialisierung hast:
1
DWORD WINAPI read_thread(HANDLE hCom ){
2
  BYTE Byte;
3
  HANDLE mutex;
4
  DWORD dwBytesTransferred,dwCommModemStatus ;
5
  CRITICAL_SECTION cs;
6
  //mutex = OpenMutex(0, 0, "rs232mutex");
7
  while (hCom != INVALID_HANDLE_VALUE) 
8
  {
9
    //WaitForSingleObject(mutex,INFINITE);
10
    WaitCommEvent (hCom, &dwCommModemStatus, 0);
11
    SetCommMask (hCom, EV_RXCHAR | EV_CTS | EV_DSR | EV_RING );
12
    if(dwCommModemStatus & EV_RXCHAR){  
13
    
14
    do{
15
      
16
          // Read the data from the serial port.
17
          ReadFile (hCom, &Byte, 1, &dwBytesTransferred, 0);
18
      
19
          // Display the data read.
20
          if (dwBytesTransferred == 1){
21
        if(Byte == '\r')
22
          Byte = '\n';
23
        printf("%c",Byte);
24
        
25
      }
26
      
27
          
28
      } while (dwBytesTransferred == 1);
29
      //ReleaseMutex(mutex);
30
      }
31
    }
32
    return 0;
33
}

von Karlheinz Druschel (Gast)


Lesenswert?

Danke, das hilft mir ja alles definitiv weiter.
Aber wie finde ich denn sowas bei der MSDN ?

von Karl H. (kbuchegg)


Lesenswert?

Indem man Suchfunktionen benutzt.
Was glaubst du wie ich den Link da oben gefunden
habe?
Bei google mal ein paar Schlüsselworte eingeben:
Su willst was über die RS232 wissen. Das ganze soll
mit MFC mitteln gemacht werden. C++ ist auch nicht
schlecht. Die RS232 ist auch als 'serielle Schnittstelle'
bekannt, im englischen 'serial'

Also: http:\\www.google.com
Suchbegriff: serial mfc c++
Der erste Link: Bingo

In der MSDN ist das auch nicht anders. Man gibt mal
ein paar Suchbegriffe ein und lässt die Maschine Artikel
suchen, in denen diese vorkommen. Dann fängt man an, die
ersten Artikel zu lesen, bzw. zu überfliegen. Meist
tauchen schnell mal ein paar Funktionsnamen auf und man
hat neue Suchbegriffe. Tja. und so führt eins zum anderen.

Nur: tun muss man es halt.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.