USB Daten abrufen
-
Wie hast du deine Platte den angeschlossen.
Ich verstehe das jetzt so du hast einen USB auf Parallel Wandler an dessen Parallel Port deine Platte angeklemmt ist. Oder hatst du dir eine eigen Platte gemacht die einen echten USB Anschluß hat.
Im ersten Fall hat der USB auf parallel Wandler sicherlich einen Treiber für Windows was dann heißt der Port erscheint ganz normal in der Geräteliste als LPT Port. Wenn das so ist kannst die diesen so benutzen als wäre es ein echter Paraller Port (Ich glaub da gab es so eine IO.dll unter windows um auf parallele Prots zuzugreifen)
Falls du einen echten USB Anschluß auf deiner Plate hast mußt du in das Datenblatt deine USB Bausteins schauen um herauszufinden wie die Daten übertragen werden.
MfG
-
Da hast du richtig verstanden. An meiner Platte befindet sich ein Parallelport. Leider gibt es keinen Direkten Treiber für meinen Wandler. Es wird automatisch der Standard Traiber von Microsoft genommen. Nämlich der DruckerTreiber. In meinem Gerätemanager bekomm ich deswegen auch nur "USB-Druckerunterstützung" angezeigt. Leider sind auf der CD die dabei war nur traiber für Win95/98 und ME mit bei. Kein einziger Treiber jedoch für irgendein NT-OS. Ich habe mich lange zeit auf die suche eines geeigneten Traibers gemacht, sodass ich einen "virtuellen" LPT bekomme. No Chance. Nach 1,5 Wochen Suche (Täglich ca 8 stunden) habe ich dann beschlossen Das ganze wie ein stinknormales USb gerät zu behandelt und die packets die ich sende und empfange halt sementsprechend zu modifizieren. Stellt sich aber leider Schwieriger heraus als gedacht.
Bei meinem Kabel handelt es sich um folgendes:
http://www.delock.de/produkte/gruppen/USB+Adapter/USB_11_Parallel_Adapter_61330.html
-
Der geringste Aufwand wäre denk ich einfach einen Anderen USB Parallel Adapter zu kaufen wo du die Treiber bekommst.
Sonst mußt du dir die Spezifikation der USB-Druckertreiber Schnittstelle besorgen und schauen wie es funktioniert.
MfG
-
Wenns nach mir ginge hätte ich auch schon was anderes besorgt....
Leider bekomm ich hier im Praktium nur diese Teil. Was ordentliches werde ich mir allerdings für zu hause mal bestellen, denn mit dem Thema wollte ich mich weiter beschäftigen.Wüsstest du denn wo ich die USB-Druckertreiber Schnittstellen Spezifikationen bekommen kann? Auch hiernach habe ich schon gesucht wie ein Irrer.
Kann ich da etwas übers Sniffen herausbekommen? Leider kann ich recht wenig mit den daten anfangen. z.B. fordert Das Programm SnoopyPro anscheind den Descriptor an und bekommt auch Promt Info von dem Gerät. Nun wüsste ich gern, wie ich selber Traiberspezifische Methoden aufrufen kann. Ist sowas irgendwie herauszubekommen?
-
Hi DaSashStYle,
hast Du wirklich 1,5 Wochen lang bei täglich 8 Stunden im Internet gesucht?
Ehrlich gesagt, dann würde ich mich nicht wundern, daß Du bei Deinem Praktikum glatt durchfallen wirst ...DaSashStYle schrieb:
Bei meinem Kabel handelt es sich um folgendes:
http://www.delock.de/produkte/gruppen/USB+Adapter/USB_11_Parallel_Adapter_61330.htmlAuf der Webseite von Deinem Link ist ganz klar zu lesen: "Für Windows 98SE/ME/2000/XP/Vista"
Und Google (Suchbegriffe "DeLock" und "61330") liefert mir den folgenden Link: http://www.edriverdownload.com/delock-61330-driver.html
Keine 5 Minuten hats bei mir gedauert... wobei das Schreiben meines Postings am meisten gedauert hat
Nix für ungut,
Martin
-
-
Bevor man nicht im Thema drin hängt sollte man vielleicht weniger groß rum pupen. Ob ich im Praktikum aufgrund 1,5 wochen suche Durchfalle oder nicht lass mal meine sache sein.
1. Der Link den du geschrieben hast ist absoluter mist! Versuch du da mal den Treiber herunterzuladen! Wenn du was kriegen solltest wird es vielelciht der standard Microfttreiber OHNE jegliche Dokumentation sein! Noch dazu gibt es für den im Kabel verwendeten Chip keine Spezifikation! Siehe in meinem Link oben.
Warum bieten die wohl keinen Treiber+Spezifikation an? Richtig! Weil hier Microsoft zur Rate gezogen wurde. (Im Übrigen, einen aufregenden Schriftwechsel mit dem Hersteller habe ich bereits hinter mir!).Das was man auf deinem link downloaden kann ist ein tool namens DriverScan. Nettes Teil allerdings nicht der Treiber! Gibt ne Menge von solchen, jedoch völlig unbrauchbar in meinem Fall, denn die greifen grundsätzlich auf die Microsoft Datenbank zu und Dokus gibts auch keine.
Schau dir deinen link nochmal genau an dann wirst du sehen wovon ich spreche.
2. Ich habe einen Treiber. Klar, dank Microsoft ist es möglich auch zu drucken. Schön oder? usbprint.sys stellt hierzu die möglichkeit! schön, ich schaff es auch hierrüber 8 Datenbits zu senden. Auch fein! Jedoch ist dieser Treiber nur dazu ausgelegt Daten zu senden. Weniger fein! Um nun weiter arbeiten zu können, benötigst du wenigstens irgend eine Dokumentation über die Spezifikationen des verbauten Chips deiner Hardware. Nice, dass ich ihn für ein anderes Kabel finde (ähnlich wie dieses, jedoch neuer) Allerdings ncht für dieses welches ich zur verfügung habe.
Ohne Doku kannste sowas vergessen. Wenn du ein wenig mehr dein köpfchen eingeschaltet hättest, wärst du da auch allein drauf gekommen.Ach was reg ich mich eigentlich auf? Solche Lejute wie du sind es, die das Klima in Foren durch aroganz (die absolut unberechtigt ist) absolut runterziehen. Kannst ja mal drüber nachdenken. Ein Meister ist noch nie vom Himmel gefallen und ich glaube auch kaum, dass du auch nur annähernd einer bist, denn dann wäre die Aussage ein wenig Qualifizierter ausgefallen.
-
@kpeter Die Schaltung der gebastelten Leiterplatte?
-
Ja
-
Ich wünschte ich könnte.... Leider ist mein Praktiums-Betreuer, der das Teil zusammen gelötet hat krank bis Donnerstag. Ich werde aber mal schauen, was ich anhand der Drähte zusammen bekommen kann! Ist recht strukturiert zusammen gelötet.
-
kan man hier auch Bilder hochladen? oder muss ich das extern machen?
-
Ich hoffe es ist übersichtlich genug!
Nochmal zur erklärung:
Die Größe der Widerstände kann ich natürlich berechnen, wenn benötigt. Das was ich da auffgezeichnet habe ist quasi die unterseite der Platte. Sprich wie die einzelnen Bauteile verbunden sind. Ich habe zum Parallelport einige direkt verbunden, andere nicht direkt. Die die nicht direkt verbunden sind gehen hoch auf die Oberfläche und sind hier mit dem Parallelport angeschlossen.Der Parallelport ist so angebracht, dass wenn die Platte richtig herum liegt die 13 pins oben sind und unten die 12 Pins. Wie es ausschaut, ist auch dementsprechend alles so angeschlossen.
Ich hoffe dass es einigermaßen überschaubar ist.
-
Hi,
also meines Wissens geht das nicht mit Grafiken ins Forum laden.
Wenn du eine Webpage hast, stell das dort rein.mfg
Edit: upload erledigt
-
ich werds nachher nochmal auf meine eigene Webpage hochladen. Hab nur hier den Zugang nicht. Mach mich nun aber auf den weg Nach hause. Bin gegen 14:30 wieder anwesend.
-
Hi,
hier noch ein Link zur selben Problematik:
http://www-user.tu-chemnitz.de/~heha/bastelecke/Rund%20um%20den%20PC/USB2LPT/lpt2usb.htm
mfg
Peter
-
Wenn du den Microsoft Treiber installierst dann wird das Gerät auch nicht als normaler LPT Port im Gerätemanager angezeigt?
Zu deinem Problem mit dem Lesen und schreiben der Schnittstelle. Also schreiben ist ja klar geht wenn du die Schnittstelle via USB öffnest. Lesen geht nicht, was daran liegt das du nur den Windows Puffer der USB Schnittstelle liest und dort sind keine Daten vorhanden da das Gerät (Wandler) nichts an den PC gesendet hat. Das lesen ist bestimmt über eine spezielle USB Funktion (best. Daten an Wandler gesendet er antwortet darauf) implementiert. Diese Funktion kannst du bestimmt in den USB Geräteklassen finden (z.B.: HID,COMM usw. mußt halt die richtige finden). Jetzt ist die lesende Funktion aber bestimmt auch von Microsoft gekapselt worden um Kompatibilität zu schaffen, das heißt du kannst den LPT-USB Port bestimmt wie einen ganz normalen LPT Port behandeln und Daten z.B.: mit den Funktionen der IO.Dll (Mußt du mal in der MSDN nachkucken gibt bestimmt auch noch andere Varianten) empfangen und senden.
MfG
-
sorry vertippt.
mfg
Peter
-
Drucker am LPT-USB-Adapter werden von Windows mit dem USB-Drucker-Treiber bedient. Deshalb legt der keinen zusätzlichen LPT an. Du hast allerdings schon ein richtiges Handle auf den Adapter geöffnet, das beweist ja das erfolgreiche Schreiben der Daten. Wahrscheinlich kannst du mit diesem Handle sogar vorhandenen Code benutzen, der für echte LPTs gedacht ist.
Dein Bild verstehe ich nicht.
So wie ich das sehe, kann von dem Gerät nichts auf herkömmliche Art gelesen werden. Beim Lesen vom LPT werden die normalen Datenleitungen vom Peripheriegerät gesetzt und dann irgendwie mit Steuersignalen jongliert, so dass der PC weiß: jetzt kommen Daten. Offenbar sind die zu lesenden Daten aber nur die Bits der Steuerleitungen. Die bekommt man am ehesten mit DeviceIoControl raus. Dazu mußt du "nur" noch die passende Action rausfinden.
Suchworte sind vielleicht Nibble-Modus bzw. Bitronics.
-
Oha, das sind nun erstmal eine Menge Informationen die ich erstmal verarbeiten werde.
Für DeviceIOContol brauch ich weiß auch das DDK oder?
Ja, die Grafik hast du richtig verstanden, mir war nämlich auch so dass ich demnach auf D0-D7 nur schreibenden zugriff habe, allerdings den Status einiger Pipes.
Ich habe ja keinen sender (taster oder ähnliches) mit dem ich die Daten übertragen kann. Bzw. ein impuls, dass Sie übertragen werden. Also muss ich wohl oder übel eine Funktion finden auf die der Controller dann antwortet. Ich habe da bis jetzt noch nichts gefunden gehabt. Weiß zufällig irgendjemand anderes was darüber?
Werde nun erstmal nach Nibble-Modus bzw. Bitronics suchen, vielleciht ist das auch schon die Lösung. Danke euch erstmal!
-
Ich habe versucht das Teil einfach mal nach dem richtigen Handle wie einen LPT behandelt. Dies funktioniert nicht. Wir am Treiber liegen. Werde nun aber nochmal schauen, welche Action ich anwenden muss mit DeviceIOControl.