127.0.0.1 Geschrieben 15. März 2010 Geschrieben 15. März 2010 hallo kollegen, nachdem ich jetzt umgezogen bin hab ich auch wieder zeit, zu basteln. allerdings brauch ich mal wieder eure hilfe: ich möchte ein kleines programm schreiben (ohne gui), das bei einem bestimmten tastendruck einen bestimmten pin an den schnittstellen schaltet, so dass ich damit z.b. ein relais schalten kann. taste a soll z.b. bewirken, dass pin xy von low auf high geht und eine spannung zur masse steht. welche befehle greifen denn auf den seriellen port bzw. den parallelen port zu, welche bibliotheken muss ich einbinden und wie komme ich zu den einzelnen pins? viel lieben dank schon mal. ps: c++ Zitieren
TDM Geschrieben 15. März 2010 Geschrieben 15. März 2010 Wenn du selbst was schreiben willst, dann hilft dir sicher google und die MSDN. Ansonsten würd ich mal nach inpout32.dll suchen. :beagolisc Zitieren
127.0.0.1 Geschrieben 15. März 2010 Autor Geschrieben 15. März 2010 c++ ist doch plattformunabhängig. deshalb muss ich doch auch mehr oder weniger direkt auf die ports zugreifen können, oder sehe ich das grundsätzlich falsch? Zitieren
Thanks-and-Goodbye Geschrieben 15. März 2010 Geschrieben 15. März 2010 Nö, es gibt keinen direkten Hardwarezugriff. http://de.wikipedia.org/wiki/Hardwareabstraktionsschicht Zitieren
Klotzkopp Geschrieben 15. März 2010 Geschrieben 15. März 2010 c++ ist doch plattformunabhängig. deshalb muss ich doch auch mehr oder weniger direkt auf die ports zugreifen können, oder sehe ich das grundsätzlich falsch?Grundsätzlich siehst du das richtig. Allerdings ist nur das plattformunabhängig, was der Sprachstandard abdeckt. Hardwareschnittstellen gehören nicht dazu. Zitieren
127.0.0.1 Geschrieben 16. März 2010 Autor Geschrieben 16. März 2010 (bearbeitet) Hardwareschnittstellen gehören nicht dazu. also alles, was unterhalb der hardwareabstraktionsschicht liegt ist nicht plattformunabhängig und muss mit betriebssystemeigenen treibern bzw os-eigenen bibliotheken realisiert werden? stimmt das denn soweit? in meinem falle wäre dann im programm irgendwo ein DllCall("INPOUT32/OUT32",0x378,255) zu finden, oder? kann mir einer diesen befehl näher erläutern bzw. meine interpretation korrigieren? also, ich binde die inpout32.dll ein, rufe die funktion? out32 auf. 0x378 ist die registeradresse des ltp1. 255 ist vermutlich die dezimale schreibweise der pins, die auf 1 gesetzt werden (1 wäre dann pin_datenleitung1, 5 pin_datenleitung2 und pin_datenleitung3 usw.) wenn das so ist, dann kann man mit diesem befehl nur die 8 datenleitungen ansteuern? wo finde ich denn generell offizielle dokumentationen von den dll? ich hab weder bei google, noch bei msdn was ausführliches gefunden. Bearbeitet 16. März 2010 von 127.0.0.1 Zitieren
TDM Geschrieben 16. März 2010 Geschrieben 16. März 2010 wo finde ich denn generell offizielle dokumentationen von den dll? ich hab weder bei google, noch bei msdn was ausführliches gefunden. Komisch, bei mir hat google das ausgespuckt: Inpout32.dll Parallel Port Programming Zitieren
127.0.0.1 Geschrieben 16. März 2010 Autor Geschrieben 16. März 2010 was ist denn mit _outp aus der conio.h? macht dieser befehl nicht genau das, was ich möchte? Zitieren
Klotzkopp Geschrieben 16. März 2010 Geschrieben 16. März 2010 was ist denn mit _outp aus der conio.h? macht dieser befehl nicht genau das, was ich möchte? Es gibt nicht "die conio.h", der Inhalt von conio.h ist nicht standardisiert, da kann bei jedem Compiler etwas anderes drinstehen. Falls du mit einem Microsoft-Compiler arbeitest: Because these functions write directly to an I/O port, they cannot be used in user code in Windows NT, Windows 2000, Windows XP, and Windows Server 2003. Quelle: _outp, _outpw, _outpd Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.