Forum: PC-Programmierung Port ansprechen


von Thomas (Gast)


Lesenswert?

Hallo

Ich habe begonnen mit C zu programmieren. Nun möchte ich wissen, wie man 
mit einem Programm die Ports (LPT,RS232, eventuell USB) ansprechen kann.
Kennt jemand vielleicht einen Link zu dem Thema, oder kann mir erklären 
wie man auf Ports zugreifen kann?

Thomas

von Thomas B. (yahp) Benutzerseite


Lesenswert?

Ein schöner Link ist Google.

Na egal, simmer mal net so: http://www.beyondlogic.org/
Da gibt's ein paar schöne Informationen zu diversen Ports am PC, 
Software und Hardware, was man so wissen muss. Ein Tipp noch: Fang nicht 
gleich mit USB an ;->

von Thomas (Gast)


Lesenswert?

Danke für den Link

Wenn ich den LPT Port zugreifen will, kann ich dann die Daten in die 
Base Address schreiben und dann durch schreiben in das zugehörige 
Control Register die Steuerleitungen aktivieren?
Hab' ich das richtig verstanden oder ist das Quatsch?

von Thomas B. (yahp) Benutzerseite


Lesenswert?

So ziemlich ist es.

Man muss allerdings dazu sagen, dass aktuelle Betriebssysteme dich da 
nicht direkt zugreifen lassen werden. Für Win könnte daher sowas wie 
giveio interessant sein.

von Uhu U. (uhu)


Lesenswert?

Falls du das unter der Windows NT-Linie (2000, 2003, XP, Vista) machen 
willst, wirst du wohl auf große Schwierigkeiten stoßen. Die 
Schnittstellen gehören nämlich den Betriebsystem und das verhindert, daß 
man da mal eben aus einer Applikation heraus irgendwas in irgendwelche 
Harware-Register schreibt.

Wenn du sowas unbedingt auf einem PC machen willst, nimm besser FreeDOS 
oder MS-DOS - da kann man mit der Hardware noch machen, was man will. 
Nur mit USB wirds dort auch etwas kompliziert: der wird nämlich garnicht 
unterstützt.

Ich denke, es ist viel besser, weil durchsichtiger, du gehst auf einen 
Microcontroller und entwickelst und simulierst auf dem PC nur deinen 
Code, um ihn dann von dort auf den µC zu schicken.

von Thomas (Gast)


Lesenswert?

Wie geht das denn unter Win XP?

von Uhu U. (uhu)


Lesenswert?

Indem man eine Datei öffnet, z.B. COM1: für die erste serielle 
Schnittstelle, oder LPT1: für die Parallele. Aber direkten Zugriff auf 
die Schnittstellenregister bekommt man damit nicht.

von Severino R. (severino)


Lesenswert?

@ Thomas:

Wenn Du ansprechende Benützeroberflächen realisieren willst, solltest Du 
schon unter Windows programmieren.
Dann aber besser in C++, das eine Übermenge von C ist, oder in C#, das 
wenigstens ähnlich ist.

Etliche fertige Klassen für die Ansteuerung der seriellen Schnittstelle 
unter C, C++ und C# findest Du unter:
www.codeproject.com
Als Suchbegriff z.B. "serial" eingeben.
Wenn Du die fertigen Klassen nicht benützen willst, kannst Du ja den 
Source Code studieren. Die Autoren haben teilweise auch beschrieben, wie 
und warum sie etwas so implementiert haben.

Severino

von Stefan B. (stefan) Benutzerseite


Lesenswert?


von Thomas (Gast)


Lesenswert?

>indem man eine Datei öffnet

Heißt das, das ich in diese Datei die zu senden Daten schreiben soll und 
der PC den Rest erldigt?

von Severino R. (severino)


Lesenswert?

Thomas wrote:
>>indem man eine Datei öffnet
>
> Heißt das, das ich in diese Datei die zu senden Daten schreiben soll und
> der PC den Rest erldigt?

Im  Prinzip ja, aber Du musst mindestens noch die 
Schnittstellenparameter setzen...
Schau Dir doch mal die Beispiele an.

Severino

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.