Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Serielle Schnitstelle

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 < [ 2 ] [ 3 ] [ 4 ]
000
12.07.2003, 20:59 Uhr
tobiwankenobi



Hie Leute,
kennt jemand von euch eine gute Dukumentation oder Hilfe oder Klasse zum Ansprechen der Serielle Schnitstelle?? Ich will dazen aus einem Messgerät auslesen. Die Beschreibung für das messgerät liegt vor. Ich hab bis jetzt jedoch noch ie etwas mit Schnitstellen geprogt!!
Vielen Dank für eure Hilfe!!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
12.07.2003, 21:08 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


Wurde schon öfter gefragt.

Schau mal z.b. hier

Gruss Heiko

edit by FloSoft: Link korrigiert! PHPSESSID=xxx Variable aus Link entfernen!
--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 01.03.2007 um 22:29 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
12.07.2003, 21:10 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


keine Ahnung warum der Link nicht geht.
Dann poste ichs halt einfach nochmal

C++:
//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);



--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
12.07.2003, 21:11 Uhr
~tobiwankenob
Gast


OK. Aber den thread zu dem du linkst, den gibt es nicht mehr???
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
12.07.2003, 21:14 Uhr
~tobiwankenob
Gast


Das sieht sehr gut aus danke!! Ncoh eine kleine Frage. Wie rufe ich jetzt BESTIMMTE Informationen von dam Messgerät ab, wi z.B. die Grad zahl oder so??
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
12.07.2003, 21:16 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


Das ist wohl messgerätabhängig kann ich dir von hier aus nicht sagen wie das genau läuft.
Vermute mal du muss irgend eine Taste am Messgerät drücken und dann schickt der dir was auf die schnittstelle.
Falls du vorher einen Readfile gestartet hast sollte der spass dann im buffer stehen.

Gruss Heiko
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
12.07.2003, 21:18 Uhr
~tobiwankenobi
Gast


Heisst also ich hole mir die Daten aus dem buffer und das gerät schickt die daten immer dahin und ich muß sie nur noch trennen!!! Hört sich irgenwie zu einfach an!!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
12.07.2003, 21:19 Uhr
~tobiwankenobi
Gast


Welche klassen muß ich eigentlich includen??
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
12.07.2003, 21:21 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


na als erstes initialisierst du die schnittstelle.
Dazu musst du wissen mit was für übertragungsparametern dein gerät arbeitet.
Dann rufst du den Readfile auf

den hier

C++:
ReadFile(h_com, &inbuffer, 100, &nBytesRead, NULL);



in inbuffer sollten dann die übertragenen bytes stehen die du dann noch irgendwie interpretieren musst. Was der da überträgt hängt natürlich auch vom gerät ab am besten den ganzen buffer ausgeben lassen

Gruss Heiko
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
12.07.2003, 21:25 Uhr
~tobiwankenobi
Gast


Ok das hast du auch sehr schön beschrieben! Aber woher kommt das Objekt HANDLE h_com ??
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ] [ 3 ] [ 4 ]     [ C / C++ (WinAPI, Konsole) ]  


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: