www.mikrocontroller.net

Forum: PC-Programmierung Programmschleifen in einem Dialogfeld


Autor: Karlheinz Druschel (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Karl heinz Buchegger (kbucheg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: MasterFX (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ganz einfach (hättest auch auf MSDN nachlesen können). Ich gehe jetzt
davon aus das du die Initialisierung hast:
DWORD WINAPI read_thread(HANDLE hCom ){
  BYTE Byte;
  HANDLE mutex;
  DWORD dwBytesTransferred,dwCommModemStatus ;
  CRITICAL_SECTION cs;
  //mutex = OpenMutex(0, 0, "rs232mutex");
  while (hCom != INVALID_HANDLE_VALUE) 
  {
    //WaitForSingleObject(mutex,INFINITE);
    WaitCommEvent (hCom, &dwCommModemStatus, 0);
    SetCommMask (hCom, EV_RXCHAR | EV_CTS | EV_DSR | EV_RING );
    if(dwCommModemStatus & EV_RXCHAR){  
    
    do{
      
          // Read the data from the serial port.
          ReadFile (hCom, &Byte, 1, &dwBytesTransferred, 0);
      
          // Display the data read.
          if (dwBytesTransferred == 1){
        if(Byte == '\r')
          Byte = '\n';
        printf("%c",Byte);
        
      }
      
          
      } while (dwBytesTransferred == 1);
      //ReleaseMutex(mutex);
      }
    }
    return 0;
}

Autor: Karlheinz Druschel (Gast)
Datum:

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

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.