Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » DLL und serielle Schnittstelle

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 ]
010
09.08.2007, 12:05 Uhr
FloSoft
Medialer Over-Flow
(Administrator)



Zitat von Blubber2063:
Also vielleicht hab ich ja hier was verpasst, aber soweit ich mich erinnere kann man serielle Schnittstellen dazu veranlassen per Interrupt zu melden das neue Daten vorliegen, was Windows auch bestimmt zum Buffern nutzt und es würde mich schwer wundern wenn es da nicht eine synchrone Funktion zum lesen auf dem Puffer gibt. Dann doch ein schöner Thread in der Anwendung der hier die Funktion aufruft und die Daten sammelt, ein Thread der beim Start einer DLL anläuft ist ja wohl ganz hässlich.

das konnte man abfragen, asynchron konnte man sich da glaub ich nichts melden lassen von haus aus.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
09.08.2007, 12:28 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Jein, das ganze läuft ja über die Read/Write File Methoden und man kann das über das Overlapped Flag asynchron gestalten. Aber das funktioniert dann wohl nicht so das eine entsprechende Callbackfunktion nach dem lesen aufgerufen wird sondern "nur" das mehrere gleichzeitig auf die Resource zugreifen können. Hab das aber noch nie gemacht um das genauer sagen zu können. Die MSDN sagt dazu

Zitat von MSDN:

The file is being opened or created for asynchronous I/O. When the operation is complete, the event specified to the call in the OVERLAPPED structure is set to the signaled state. Operations that take a significant amount of time to process return ERROR_IO_PENDING.
If this flag is specified, the file can be used for simultaneous read and write operations. The system does not maintain the file pointer, therefore you must pass the file position to the read and write functions in the OVERLAPPED structure or update the file pointer.

If this flag is not specified, then I/O operations are serialized, even if the calls to the read and write functions specify an OVERLAPPED structure.



Je nachdem wäre es also evtl. schon sinnvoll wenn noch jemand anderes auf die Schnittstelle zugreifen können soll...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
09.08.2007, 13:06 Uhr
~Petra4
Gast



Zitat von Blubber2063:
... Dann doch ein schöner Thread in der Anwendung der hier die Funktion aufruft und die Daten sammelt, ein Thread der beim Start einer DLL anläuft ist ja wohl ganz hässlich.


Aber die Daten will ich ja in der DLL nach dem Empfangen Vorbereiten und dann erst bereitstellen. Die Anwendung kriegt so nichts vom Protokoll mit. Die Anwendung hat vorgegebene Funktionen und muss sich mit der Kommunikation der seriellen Schnittstelle nicht befassen. Ziel wäre es ja, wenn die DLL signalisiert, wenn neue Daten Vorhanden sind.

Wieso ist das so hässlich, dass die DLL ein Thread startet?
Was soll ich jetzt tun? Braue eine lösung die Funktioniert. :-(
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
09.08.2007, 13:11 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)



Zitat von ~Petra4:
[quote Blubber2063]
Wieso ist das so hässlich, dass die DLL ein Thread startet?

Nein Blubber hat wohl nur den Rest nicht gelesen, hässlich ist es nur wenn das automatisch beim Laden der DLL geschieht, aber das hast du ja nicht vor.

Dieser Post wurde am 09.08.2007 um 13:11 Uhr von Guybrush Threepwood editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
09.08.2007, 13:23 Uhr
~Petra4
Gast


Nein, ich würde den Thread erst dann starten, wenn ich meine Init Funktion aufrufe.

Also könnte man das so machen?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
09.08.2007, 13:26 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


ja
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
09.08.2007, 13:43 Uhr
Blubber2063



Das muss ich wohl überlesen haben, wobei du hier dann natürlich auch dafür sorgen solltest das für den Thread dann Schnitstellen zur Verfügung stehen um ihn zu beenden, wenn man die Serielle Schnittstelle nicht mehr benötigt.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
09.08.2007, 13:50 Uhr
~Petra4
Gast


@Guybrush Threepwood: Ein ganz grosses DANKE!
(Natürlich auch an alle andere ein Danke.)

@Blubber2063: Kein Problem. - Ja, meine DLL hat eine Close-Funktion in der ich dann den Thread beenden würde.

Dann versuche ich das mit dem Thread.
Kennt jemand von euch einen Link wo das Vorgehen der Thread-Programmierens gut erklärt wird? Habe bereits im Internet gesucht, aber für nicht MFC habe ich noch nichts gefunden, was mir Anfängerin helfen würde. Ein einfaches Beispiel wäre natürlich ideal.

Hoffe ich belästige euch mit meiner Fragerei nicht zusehr. :-(
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
09.08.2007, 14:00 Uhr
Blubber2063



Hmm, MFC bin ich mir nicht sicher, aber genau wie normale Threads steht das mit Sicherheit in der MSDN. Hier ist jedenfalls ein Link zur Winapi Realisierung von Threads:
http://msdn2.microsoft.com/en-us/library/ms684852.aspx und beim kurzen Googeln bin ich über diesen Link gestolpert der wohl die Mfc Variante behandelt, aber da ist auf jeden Fall das MSDN deine beste Anlaufstelle.
www.codeproject.com/threads/threads_and_mfc.asp
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
019
09.08.2007, 14:10 Uhr
~Petra4
Gast


@Blubber2063: Ich suche auch etwas ohne MFC. ;-)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 < [ 3 ]     [ 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: