Serielle Schnittstelle Visual C++ 6.0

P

PeterMond

Hallo SliderBOR ,

ich möchte das selbe machen wie Du. Hast Du es mitlerweile geschafft ?
 
Zuletzt bearbeitet von einem Moderator:

criuix

Grünschnabel
Hallo,
ein super Tool für die bearbeitung von allen Schnittstellen findest du unter http://www.jspayne.com.
Wie die MSCom von Microsoft verwendet wird findest du in der Online Hilfe von VC6.0 //Exsamples // Terminal // VCTERM.

Ein weiteres Beispiel ist auf meiner Homepage die AQUA 23 Software. Download mit Quellcode unter http://www.bernoehle.de
 

Empdisruptor

Grünschnabel
Hallo,

Ich habe kürzlich mit dem zu Eingangs dieses Fadens beschriebenen Code gearbeitet. Dort wurde aber nur näher erläuter wie man Daten sendet. Nun habe ich ein kleines Programm geschrieben welches auch Daten empfängt. Hierbei liest das Programm die eingehenden Bytes in einen Puffer und gibt diese Daten dann auf dem Bildschirm aus.
Es gibt nur dann Daten auf dem Bildschirm aus, wenn auch welche reingekommen sind.
Es registriert dabei die Länge des eingegangenen Strings (Also der Bytes welche reingekommen sind)
Ich nutze dieses kleine Progrämmchen zum Auslesen von Daten, welche ich über einen Mikrokontroller reinbekomme.
Falls jemand damit experimentieren will:

EDIT: Ich sehe grade das es schon Beispiele zum empfangen gab ---> egal das Programm ist super einfach und funktioniert einwandfrei
eventuell taugt es als Anregung ^^

Code:
void main(void)
{

CSerial serial;
CString strText;
strText = "Hallo"; // zum senden

char *szMessage = (LPTSTR) (LPCSTR) strText; //zum senden
char* lpBuffer = new char[50]; //zum empfangen
int bytesRead; //zum empfangen

serial.Open(2, 9600); //Serielle schnittstelle Com2 9600Baud

//Hier wird empfangen
while(1)
	{
		 
	bytesRead = serial.ReadData(lpBuffer, 50);
	
	     if(bytesRead)
		{
			lpBuffer[bytesRead] = 0;	
			printf (lpBuffer);	
		}
	}

//serial.SendData(szMessage, strlen(szMessage)); //zum senden

}
 
Zuletzt bearbeitet:

Baseball_83

Grünschnabel
In welchen Bereich muss ich denn diesen Code von CFuchs:

CSerial serial;
CString strText;
strText = "Hallo";

char *szMessage = (LPTSTR) (LPCSTR) sText;
char* lpBuffer = new char[50];
int bytesRead;

serial.SendData(szMessage, strlen(szMessage));

bytesRead = serial.ReadData(lpBuffer, 50);


kopieren bzw. in welcher Datei fehlt das?

Kann mir jemand helfen?




nachtrag: Oder kann hier noch mal jemand die vollständigen Quellcodes hochladen?
 
Zuletzt bearbeitet:

wazzzup

Grünschnabel
Kann mir jemand sagen welchen Unterschied es in der Programmierung gibt, ob ich eine RS232 oder eine RS485-Bus-Verbindung ansteuern muss?

mfg
 

Lorbeer

Grünschnabel
Hi,

Jetzt sitz ich schon seit geschlagenen 2 Tagen dabei und immer noch haut es nicht hin. Habe die Dateien von cFuchs reinkopiert, ins Projekt geholt, den Source-code in eine funktion geschrieben und immer noch kriege ich Fehlermeldungen. (Habe das Mfc auch eingestellt.)

Fehler beim Erstellen:
d:\fh\semester6\projekt_fst\c++\uebung\uebung.cpp(50) : fatal error C1010: Unerwartetes Dateiende waehrend der Suche nach der Direktive fuer die vorkompilierte Header-Datei
Serial.cpp
d:\fh\semester6\projekt_fst\c++\uebung\serial.h(23) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'Open'
d:\fh\semester6\projekt_fst\c++\uebung\serial.h(23) : error C2501: 'BOOL' : Fehlende Speicherklasse oder Typbezeichner
d:\fh\semester6\projekt_fst\c++\uebung\serial.h(24) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'Close'
d:\fh\semester6\projekt_fst\c++\uebung\serial.h(24) : error C2501: 'BOOL' : Fehlende Speicherklasse oder Typbezeichner
d:\fh\semester6\projekt_fst\c++\uebung\serial.h(30) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'IsOpened'
d:\fh\semester6\projekt_fst\c++\uebung\serial.h(30) : error C2501: 'BOOL' : Fehlende Speicherklasse oder Typbezeichner
d:\fh\semester6\projekt_fst\c++\uebung\serial.h(33) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'WriteCommByte'
d:\fh\semester6\projekt_fst\c++\uebung\serial.h(33) : error C2501: 'BOOL' : Fehlende Speicherklasse oder Typbezeichner
d:\fh\semester6\projekt_fst\c++\uebung\serial.h(35) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'm_hIDComDev'
d:\fh\semester6\projekt_fst\c++\uebung\serial.h(35) : error C2501: 'HANDLE' : Fehlende Speicherklasse oder Typbezeichner
d:\fh\semester6\projekt_fst\c++\uebung\serial.h(35) : error C2501: 'm_hIDComDev' : Fehlende Speicherklasse oder Typbezeichner
d:\fh\semester6\projekt_fst\c++\uebung\serial.h(36) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'm_OverlappedRead'
d:\fh\semester6\projekt_fst\c++\uebung\serial.h(36) : error C2501: 'OVERLAPPED' : Fehlende Speicherklasse oder Typbezeichner
d:\fh\semester6\projekt_fst\c++\uebung\serial.h(36) : error C2501: 'm_OverlappedRead' : Fehlende Speicherklasse oder Typbezeichner
d:\fh\semester6\projekt_fst\c++\uebung\serial.h(36) : error C2501: 'm_OverlappedWrite' : Fehlende Speicherklasse oder Typbezeichner
d:\fh\semester6\projekt_fst\c++\uebung\serial.h(37) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'm_bOpened'
d:\fh\semester6\projekt_fst\c++\uebung\serial.h(37) : error C2501: 'BOOL' : Fehlende Speicherklasse oder Typbezeichner
d:\fh\semester6\projekt_fst\c++\uebung\serial.h(37) : error C2501: 'm_bOpened' : Fehlende Speicherklasse oder Typbezeichner
D:\FH\Semester6\Projekt_FST\C++\Uebung\Serial.cpp(9) : error C2065: 'memset' : nichtdeklarierter Bezeichner
D:\FH\Semester6\Projekt_FST\C++\Uebung\Serial.cpp(9) : error C2065: 'm_OverlappedRead' : nichtdeklarierter Bezeichner
D:\FH\Semester6\Projekt_FST\C++\Uebung\Serial.cpp(9) : error C2065: 'OVERLAPPED' : nichtdeklarierter Bezeichner
D:\FH\Semester6\Projekt_FST\C++\Uebung\Serial.cpp(10) : error C2065: 'm_OverlappedWrite' : nichtdeklarierter Bezeichner
D:\FH\Semester6\Projekt_FST\C++\Uebung\Serial.cpp(11) : error C2065: 'm_hIDComDev' : nichtdeklarierter Bezeichner
D:\FH\Semester6\Projekt_FST\C++\Uebung\Serial.cpp(11) : error C2065: 'NULL' : nichtdeklarierter Bezeichner
D:\FH\Semester6\Projekt_FST\C++\Uebung\Serial.cpp(12) : error C2065: 'm_bOpened' : nichtdeklarierter Bezeichner
D:\FH\Semester6\Projekt_FST\C++\Uebung\Serial.cpp(12) : error C2065: 'FALSE' : nichtdeklarierter Bezeichner
D:\FH\Semester6\Projekt_FST\C++\Uebung\Serial.cpp(23) : error C2143: Syntaxfehler : Fehlendes ';' vor 'tag::id'
D:\FH\Semester6\Projekt_FST\C++\Uebung\Serial.cpp(23) : error C2501: 'BOOL' : Fehlende Speicherklasse oder Typbezeichner
D:\FH\Semester6\Projekt_FST\C++\Uebung\Serial.cpp(23) : fatal error C1004: Unerwartetes Dateiende gefunden
Generieren von Code...
Fehler beim Ausführen von cl.exe.

Uebung.exe - 30 Fehler, 0 Warnung(en)

Fehler beim Kompilieren:
d:\fh\semester6\projekt_fst\c++\uebung\uebung.cpp(50) : fatal error C1010: Unerwartetes Dateiende waehrend der Suche nach der Direktive fuer die vorkompilierte Header-Datei
Fehler beim Ausführen von cl.exe.

Uebung.obj - 1 Fehler, 0 Warnung(en)

Kann mir vielleicht noch jemand helfen?

Eine ziemlich verzweifelte -Lorbeer-
 

Empdisruptor

Grünschnabel
Kann mir vielleicht noch jemand helfen?

Ja, ich.

Pack mal über deine includierten Headerfiles #include "stdafx.h"

Wichtig: Über nicht drunter - Die Reihenvolge ist wichtig.

Wenn ich diese include weglasse kommt genau dein Fehler. Pack sie einfach ganz oben
in dein Cfile wo auch deine Main drinnsteht;)

Bei mir siehts so aus:

#include "stdafx.h"
# include <iostream.h>
# include <stdio.h>
#include "Serial.h"
#include "RS232ansprechen.h"

Wenns das nicht ist, ist ne Ferndiagnose recht schwer.
 
Zuletzt bearbeitet:

Lorbeer

Grünschnabel
Abend,

Danke für die Hilfe!!
Mit #include <iostream.h> hat sich das ganze schon auf 2 Fehlerchen reduziert.
#include "stdafx.h" stand bei mir sowieso schon ganz oben drinnen (vor allem anderen).

Mittlerweile hab ich aber irgendwo (dem Internet sei Dank!) ein funktionierendes Programm dazu gefunden und plage mich nicht mehr mit dem von CFuchs herum. (Wenn ich mehr Zeit hätte, würds mich vermutlich schon reizen, den Fehler zu finden, aber leider hab ich die nicht...)

Schönen Abend noch,
-Lorbeer-
 

Ruuudi

Grünschnabel
Hi, auch wenns lästig ist: Kannst Du mir mal eine Kurzinstruktion zur richtigen Einstellung des V++ Projektes geben, damit ich Deine Klasse nutzen kann.
Ich komme zu folgender Fehlermeldung:
"Unerwartetes Dateiende während der Suche nach der Direktive für die vorkompilierte Headerdatei"