Serielle Schnittstelle Visual C++ 6.0

basd

Erfahrenes Mitglied
Ist die Datei in deinem Projekt drin oder nur hin kopiert

Mach doch ein Fehler in die Serial.cpp und schaue ob er sie kompiliert oder nicht
 

exorkun

Grünschnabel
Re: CSerial Klasse

Es ist reichlich schwierig anwendbare oder verständliche Beispiele für die Nutzung der seriallen Schnittstelle unter Verwendung von C++ zu finden, daher mag ich es auch gern einmal mit der bereitgestellten Klasse ausprobieren. Vor circa einem Jahr habe ich etwas vergleichbares mit dem Borland C++ Builder versucht und es scheiterte daran, dass ich das Beispielprogramm nicht verstanden habe.
Allein dem Beispielcode entnehme ich dass es wesentlich einfacher zu handhaben scheint, zumal man nicht direkt ein Programm mit einer Oberfläche vorliegen hat, sondern eine Klasse, deren Inhalte vermutlich leichter nachzuvollziehen sind.
Ich strebe eine Nutzung in Verbindung mit einem Mikrokontroller (C-Control und C-Control II) an.
 

jimlo

Grünschnabel
Servus...

bin auch ein der jenigen der es mit dieser Seriellen Schnittstelle zu tun hat..:(

mein Problem..

Der Code der hier angegebn ist, ist schon ok..
was ich damit machen will ist folgendes..

ich möchte die informationen, die ich durch die schnittstelle bekomme,(die mit der funktion ReadData in diesen Buffer reingeschrieben werden) in meinem Main programm ausgeben lassen, also einfach diesen Buffer auslesen lassen..
aber einfach die Readdata funktion im main programm aufzurufen bringt ja nichts, denn diese funktion gibt ja einen Int-Wert zurück..

ich bekomme aber ständig dieses folgende ausgegeben:

IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII

könnt ihr mir helfen..
 

nullplaner

Grünschnabel
sorry, aber dabei kann ich dir nicht wirklich helfen. meine frage ist eine ganz andere:
gibt es eine möglichkeit bei einer eingehenden kommunikation über die serielle schnittstelle eine art event zu definieren, damit dann die daten auch tatsächlich gelesen werden?
Ich habe irgendwo mal was in der art:

Code:
BEGIN_MESSAGE_MAP(CAppView, CFormView)
 
//{{AFX_MSG_MAP(CAppView)
 
ON_BN_CLICKED(IDC_CLEAR_ALL_DATA, OnClearAllData)
 
//}}AFX_MSG_MAP
 
END_MESSAGE_MAP()

gesehen (das ganze natürlich dann für den Com Port), kann mich aber leider nicht mehr genau daran erinnern wie das war. hat da irgendwer mehr ahnung?

Danke
 

jojo2

Grünschnabel
Re: MFC

Hallo, ich bin neuling und habe auch Problem wie Milchbilch. Ich habe alle Schritte wie Milchbich wiederholt mit include <windows.h>, aber bei kompilieren bekomme immer Fehler:
....fatal error C1010: unexpected end of file while looking for precompiled header directive (*)
Generating Code...
Error executing cl.exe.

Testserial_2.exe - 1 error(s), 0 warning(s)

error (*) C1010 ist an der Stelle Ende von void main () {....
}

Kann jemand mir helfen, was muß ich tun ?
 

Kachelator

Peter Jerz
Re: MFC

jojo2 hat gesagt.:
Hallo, ich bin neuling und habe auch Problem wie Milchbilch. Ich habe alle Schritte wie Milchbich wiederholt mit include <windows.h>, aber bei kompilieren bekomme immer Fehler:
....fatal error C1010: unexpected end of file while looking for precompiled header directive (*)
Generating Code...
Error executing cl.exe.

Testserial_2.exe - 1 error(s), 0 warning(s)

error (*) C1010 ist an der Stelle Ende von void main () {....
}

Kann jemand mir helfen, was muß ich tun ?

Setz mal #include "stdafx.h" in die erste Zeile der Datei. Das müsste gehen.
 

upo_berlin

Grünschnabel
non-standard-übertragungsraten

vielen dank für die zahlreichen beiträge.
leider wurde mein problem bislang nicht angesprochen
(oder ich habe es noch nicht gefunden).

was nun, wenn ich com auf eine nicht-standard-geschwindigkeit setzten will.
in meinem fall 96000 baud?

die geschichten um die DCB-struktur funktionieren hervorragend,
wenn man 9.6k oder 115.2k haben möchte...
nicht aber mit 96k!

irgendwelche vorschläge?

dank im voraus!
 

Mr_P1nk

Grünschnabel
hi

ich grab mal diesen thread wieder aus, da es eh schon so viele beiträge zur seriellen schnittstelle gibt, aber ich hab leider nichts brauchbares für mich gefunden

ich hab die klasse CSerial von cFuchs verwendet und hätte zuerst ein paar fragen zu der klasse:

ReadDataWaiting(): also so wie ich das verstehe wird hier einfach gecheckt ob daten gesendet wurden. wenn ja werden die anzahl der gesendete zeichen zurückgegeben. aber der name der methode ist mir unklar ... wieso waiting? der name würd mich eher darauf schliessen lassen, dass die methode solang wartet bis was gesendet wird, aber es wird eigentlich nur überprüft ob daten gesendet wurden. oder versteh ich da was falsch.

ich hab brauch die klasse nur zum lesen der daten und habe das so gelöst das ich mit readdatawaiting die ganze zeit polle und sobald daten gesendet werden mache ich readdata. ich vermute das die gesendeten daten zuerst in einem buffer gespeichert werden, da ich bei readdatawaiting schon die anzahl der empfangenen zeichen bekomme und mit readdata lese ich sie nur aus diesem buffer aus. stimmt das ?

und nun zu meinem eigentlichen problem:

ich verwende die klasse in verbindung mit bluetooth. also ich empfange daten über bluetooth, lese sie über den virtuellen com-port aus und schreibe sie in eine text-datei. allerdings hab ich das problem, das ich nie mehr als 8092 zeichen empfangen kann.

hilfe ! =)
mfg mr pink
 
Zuletzt bearbeitet: