RS232 mit C# in VS .Net 2003

Hallo Gemeinde!

So, das wird länger:

Ich möchte mit C# in VS .Net 2003 ein Programm implementieren, das auf die serielle Schnittstelle (COM1, RS232) zugreifen kann. Dabei sollen die Leitungen TxD und RxD als Sende- bzw. Empfangsleitungen dienen, GND ist logischerweise Masse und DTR soll eine Steuerleitung sein, die +10V oder -10V ausgibt. Die angeschlossene Hardware kann 9600 bzw. 19200 Baud. Eine genauere Beschreibung der Hardware ist an dieser Stelle leider nicht möglich.

Fragen:

Da das Programm unter Win2k laufen soll/muss, brauche ich ja einen Kernel-Treiber, damit ich auf den Port zugreifen kann, richtig? Ich hab da ne inpout32.dll, mit der ich auch schon eine Anwendung für den LPT geschrieben habe. Geht diese DLL auch für den COM-Port?

Wie soll ich mir die Kommunikation vorstellen? Also, was muss ich implementieren, damit aus dem COM-Port mit 9600 bzw. 19200 Baud Daten kommen bzw. aus selbigem gelesen werden kann.

Ich wäre für ein paar Code-Brocken sehr dankbar!

Ich hoffe, die Angaben reichen für eine Antwort.

Im Voraus Vielen Dank!!!

Hallo!

Von Hause aus bringt .NET 1.0/1.1 erstmal keine Unterstützung für die COM-Ports mit, aber es funktioniert ganz prima, wenn Du per Interop die Win32-Funktionen benutzt (z.B. CreateFile() und co.)

Ein Artikel auf CodeProject, der sich damit beschäftigt, ist u.a. hier: http://www.codeproject.com/dotnet/DotNetComPorts.asp zu finden.

Auch ganz nett finde ich die Idee, nicht alles per p/invoke zu machen, sondern nur CreateFile() zu verwenden und den zurückgelieferten Pointer zum Erstellen eines FileStream zu verwenden:
http://www.codeproject.com/csharp/moemeka6.asp

Gruß,
Martin

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Vielen Dank!
Hatte mit das zwar doch etwas einfacher vorgestellt, aber damit klappt es.

Thx und Gruß

Holger

ich habe zuhause eine assembly die das macht. (ist von MS + Source Code) wenn du willst kann ich es dir schicken. gruss