|
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
srsgp
Anmeldungsdatum: 30.01.2013 Beiträge: 15
|
Verfasst am: 18.07.2017, 19:42 Titel: die USB2LPT von Haftmann unter Freebasic |
|
|
Parallelport unter Windows 10x64
Die USB2LPT von H. Haftmann funktioniert bei mir unter WIN10x64 nicht.
Muss ich die INPOUT32.DLL zusätzlich in FB einbinden?
Wer hat schon Erfahrung mit der USB2LPT, oder hat eine Lösung. |
|
Nach oben |
|
|
St_W
Anmeldungsdatum: 22.07.2007 Beiträge: 949 Wohnort: Austria
|
Verfasst am: 25.07.2017, 16:21 Titel: |
|
|
Ich kenne leider USB2LPT nicht, aber auf deren Homepage steht: Zitat: | Not recommended for new designs
[..] Moreover, it is slow and will not work at all for 64-bit versions of Windows. [..] In conjunction with my InpOut32.dll, USB2LPT is capable to run on 64-bit Windows. | Abgesehen davon, dass das recht abenteuerlich klingt, wird erwähnt dass InpOut32 notwendig ist um auf einem 64-bit System zu funktionieren.
Was ich mich frage ist, ob du dieses USB2LPT überhaupt brauchst und nicht direkt den Parallel-Port via InpOut32 ansteuern kannst?
Dazu findet man auch einige Beispiele, wie z.B. folgende:
http://www.tech-ecke.de/index_quereinstieg.htm?/delphi/hardware_inpout32_dll.htm (Delphi)
https://johannes-mittendorfer.com/artikel/2012/01/elektronik-uber-den-lpt-port-steuern (C#)
Sind zwar keine für FreeBasic, aber das ist ja egal, denn das Prinzip ist gleich. _________________ Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken) |
|
Nach oben |
|
|
srsgp
Anmeldungsdatum: 30.01.2013 Beiträge: 15
|
Verfasst am: 25.07.2017, 16:39 Titel: |
|
|
Hallo St-W,
neue PC's haben keinen Parallelport mehr. Auch über eine PCIe zu parallel Karte geht es nicht mehr.
Ich weiß nur nicht wie die InpOut32.dll von H. Haftmann in Freebasic, oder in Windows 10x64 eingebunden wird. |
|
Nach oben |
|
|
St_W
Anmeldungsdatum: 22.07.2007 Beiträge: 949 Wohnort: Austria
|
Verfasst am: 25.07.2017, 20:21 Titel: |
|
|
Hallo, ich hab mir jetzt die Dokumentation und teilweise den Code von USB2LPT durchgeschaut und soweit ich es herausgelesen habe funktioniert das so:
USB2LPT besteht aus einer eigenen, per USB angebundenen Hardware und einem speziellen Treiber, der Zugriffe auf den LPT Port abfängt und entsprechend zu dieser USB-Hardware umleitet. Verwendet wird das entweder via eigener API, wobei das Gerät einfach als Datei angesprochen wird, oder über eine spezielle version von inpout32.dll.
Letztere wurde vom Autor so erweitert, dass sich via USB2LPT Treiber auf diese Hardware zugreifen kann. Außerdem gibt es zusätzliche Lpt Hilfsfunktionen, soweit ich gesehen hab.
Wenn ich das richtig verstanden habe kannst du also InpOut32 ganz normal verwenden, so wie ohne dieses USB2LPT. Alternativ (und wohl besser) verwendest du die spezifischen Lpt Funktionen (LptOpen, etc.) dieser InpOut32 DLL.
Dass das hooken (abfangen) der direkten Gerätezugriffe auf 64-bit Systemen nicht möglich ist, ist verständlich. Was mir hingegen nicht ganz klar ist, ist wieso die Ansteuerung des USB2LPT Treibers via oben verlinkter API auf einem solchen Systemen nicht möglich ist (oder habe ich das nur falsch herausgelesen?). Ich muss jedoch dazu sagen, dass ich mich mit Windows-Treibern bzw. dessen Treibermodell quasi Null auskenne, d.h. es kann leicht einen validen Grund geben wieso es nicht funktioniert.
Ich hoffe das hilft
Soweit ich auf der Homepage gelesen hab, sollte übrigens eine per PCI(E) angebundenen LPT Schnittstelle durchaus direkt via InpOut32 ansteuerbar sein. Sowohl mit der originalen, als auch mit der durch den Autor von USB2LPT modifizierten Version - mit letzterer jedoch vermutlich leichter, da es automatisch die Portnummern (bzw. -adressen) auslesen kann. _________________ Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken) |
|
Nach oben |
|
|
St_W
Anmeldungsdatum: 22.07.2007 Beiträge: 949 Wohnort: Austria
|
|
Nach oben |
|
|
srsgp
Anmeldungsdatum: 30.01.2013 Beiträge: 15
|
Verfasst am: 29.07.2017, 16:52 Titel: |
|
|
St_W hat Folgendes geschrieben: | srsgp hat Folgendes geschrieben: | Ich weiß nur nicht wie die InpOut32.dll von H. Haftmann in Freebasic, oder in Windows 10x64 eingebunden wird. |
Das hab ich übrigens schon letztes Mal bei deiner Frage beantwortet und darf mich hier zitieren:
St_W hat Folgendes geschrieben: | [..] Du musst nichts speziell einbinden, ganz normal wie jede andere Bibliothek auch die Bibliothek (bzw. eine Importbibliothek) mitlinken sowie die entsprechenden Methoden deklarieren (und verwenden ). In diesem Falle sind das Inp32 und Out32. Wie sieht deine Deklaration aus?
Und was dir bereits gesagt wurde stimmt natürlich: Du musst die 32-bit DLL für 32-bit FreeBasic bzw. 64-bit DLL für 64-bit FreeBasic verwenden. |
Siehe in der Doku:
http://freebasic.net/wiki/wikka.php?wakka=ProPgSharedLibraries
http://freebasic.net/wiki/wikka.php?wakka=CompilerOptl oder http://freebasic.net/wiki/wikka.php?wakka=KeyPgInclib |
Vielen Dank St_W für deine Antworten,
leider habe ich von diesen Vorgängen,Deklaration Null Ahnung und auch nicht die Zeit mich einzuarbeiten. Ich wäre bereit, dir den Kauf einer USB2LPT High-Speed zu Testzwecken zu finanzieren, im Voraus, um herauszubekommen, was alles gemacht werden muss, damit es funktioniert.
Es müsste auf einem PC mit Windows 10x64 getestet werden und es würde genügen, wenn ein paar LEDs an die Datenleitungen D0 bis D7 gesteckt werden (geht ohne Vorwiderstand), die dann je nach Befehl z.B. OUT 888,1 bis OUT 888,128 aufleuchten.
Bitte die Inpout von Haftmann verwenden. Ich bräuchte dann eine genaue Dokumentation was alles wie gemacht werden muss, also für einen blutigen Anfänger. Wenn dir das nicht zuviel ist, lass es mich wissen ich überweise dann das Geld auf das angegebene Konto.
Vielen Dank für die viele Mühe
SRSGP |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 29.07.2017, 18:07 Titel: Über den Tellerrand geschaut: COM-Port / RS232 u.ä. |
|
|
Hallo,
muss es denn unbedingt die parallele Schnittstelle sein?
Du könntest dir, glaube ich, viel Mühsal sparen und deine Hardware gleichzeitig leichter verwendbar machen, wenn du auf RS232 bzw. RS232-via-USB (Stichwort FTDI) umsteigst.
Die Ansteuerung des COM-Ports ist sehr viel unproblematischer. Das funktioniert selbst unter neuen Windows-Versionen bei mir ohne Probleme.
Die parallele Schnittstelle (IEEE 1284 bzw. "Centronics-kompatibel") ist meiner Meinung nach gewissermaßen ein "dead horse". Die meisten neuen PCs und Laptops haben keine entsprechende Schnittstelle mehr an Bord, während zumindest ein COM-Port oft noch vorhanden ist, sodass man nicht mal einen USB-Umsetzer braucht.
Insb. bei (Embedded-)PCs, die speziell für industrielle Anwendungen gedacht sind, gehören RS232-, teilweise auch RS485-Ports, aber noch quasi selbstverständlich dazu.
Siehe z. B. https://www.ico.de/luefterlose-embedded-pc
Wenn du an deiner Hardware keinesfalls etwas ändern kannst und an die parallele Schnittstelle gebunden bist, würde ich an deiner Stelle einen alten PC für 50 oder 100 Euro kaufen, der noch einen echten Parallelport hat, darauf DOS oder Windows 95/98 installieren und meine Steuersoftware darauf laufen lassen. Mit dieser Plattform schaffst du dir auch alle Kompatibilitätsprobleme der modernen Betriebssysteme, USB-Adapter usw. vom Hals.
Ich hab gerade mal schnell bei eBay gesucht: Entsprechende Gebraucht-PCs mit Parallelport gibt es funktionsgeprüft von gewerblichen Händlern schon für unter 50 Euro.
Viele Grüße!
Sebastian _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
|
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1230 Wohnort: Ruhrpott
|
Verfasst am: 29.07.2017, 20:47 Titel: |
|
|
Wenn es darum geht, mit dem PC ein paar digitale I/O-Leitungen (EIN/AUS) anzusteuern, so würde ich einen Blick auf die Mikrocontroller der Reihe AT90USBxx von Atmel empfehlen. Sie lassen sich -einmal programmiert- mit jedem Computer mit USB - Port und OS ab WinXP (Linux sowieso) ansteuern, und wenn tatsächlich mal ein Teil abrauchen sollte, ist der Schaden überschaubar.
Wenn Interesse besteht, wäre ich gerne bei der Entwicklug der Firmware (wenn man es denn so nennen will ) behilflich.
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
|
srsgp
Anmeldungsdatum: 30.01.2013 Beiträge: 15
|
Verfasst am: 02.08.2017, 08:25 Titel: |
|
|
Hallo grindstone,
danke für die Tipps und das Angebot.
Wahrscheinlich werde ich mich für die BasicStamp entscheiden, da dafür in Baden-Württemberg, für Schulen, einiges vorbereitet wird.
MfG
srsgp
grindstone hat Folgendes geschrieben: | Wenn es darum geht, mit dem PC ein paar digitale I/O-Leitungen (EIN/AUS) anzusteuern, so würde ich einen Blick auf die Mikrocontroller der Reihe AT90USBxx von Atmel empfehlen. Sie lassen sich -einmal programmiert- mit jedem Computer mit USB - Port und OS ab WinXP (Linux sowieso) ansteuern, und wenn tatsächlich mal ein Teil abrauchen sollte, ist der Schaden überschaubar.
Wenn Interesse besteht, wäre ich gerne bei der Entwicklug der Firmware (wenn man es denn so nennen will ) behilflich.
Gruß
grindstone |
|
|
Nach oben |
|
|
srsgp
Anmeldungsdatum: 30.01.2013 Beiträge: 15
|
Verfasst am: 02.08.2017, 08:28 Titel: |
|
|
Sebastian hat Folgendes geschrieben: | ATMEL AVR <3 |
Hallo Sebastian,
danke für die Tipps .
Wahrscheinlich werde ich mich für die BasicStamp entscheiden, da dafür in Baden-Württemberg, für Schulen, einiges vorbereitet wird.
MfG
srsgp |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|