Möchte gern Daten über USB von meinem Controller an den PC senden. Der Controller ist ein Atmel AT90USB1287. Suche jetzt einen Treiber der es mir ermöglicht einen virtuellen Com Port zu erstellen, damit ich die Daten über das Terminal ausgeben, oder mit einer MVC C++ Anwendung auslesenund Verarbeiten kann. Die MVC Anwendung funktionier schon per serieller Schnittelle. Jetzt möchte ich die Daten von meinem ersten Controller (Mega128) zum STK525 mit At90USB1287 schicken, der die dann per USB an den PC sendet. Sagt mir bitte auch falls das so gar nicht geht... Vielen Dank Gruß Jan
Such mal bei Constellation Data System. Da ist ein Programm zu finden, welches einen virtuellen Com Port emuliert. MfG Paul
Wenn Du auf Deinem USB-Controller die Standardgeräteklasse für serielle Schnittstellen (CDC) emulierst, benötigst Du nur eine *.inf-Datei, und der mit Windows mitgelieferte Standardtreiber wird verwendet. Ein Beispiel dafür liefert LPCUSB*, das ist ein USB-Stack für einen LPC2148. Zitat: On Windows XP, the device uses the built-in usbser.sys driver and just needs an .inf file. The extra COM port simply shows up as a COMx device. On Linux, the USB serial port is handled by the cdc_acm module, which causes the serial port to show up as /dev/ttyACMx. Im Zusammenhang mit einem PIC wird das ganze auch erwähnt**: Es gibt bei Microchip mehrere Code-Beispiele wie man Programme für den PIC schreibt. Als HID (Human Interface Device), über eine spezielle DLL von Microchip * oder als CDC-Device (Communication Device Class). * Letzteres habe ich hier benutzt. CDC arbeitet über * einen virtuellen COM-Port. Man schreibt seine Programme * so als würde man eine serielle Schnittstelle ansprechen. * Für CDC ist kein spezieller Treiber erforderlich. Alles * läuft über die USBSER.SYS. Die ist bei W98 und höher dabei. * Das CDC-Demo von Microchip läuft nur mit W2000/XP. * Für W98 gibt es leider keine INF-Datei zum installieren * des Treibers bei Microchip. Dasselbe wird recht ausführlich auch für AT91SAM7X beschrieben***, auch dort sollte sich eine passende INF-Datei finden lassen. Also: Implementiere auf dem AT90USB1287 ein CDC-Device, dann benötigst Du nur noch 'ne *.inf-Datei. Viel Erfolg! *) http://wiki.sikken.nl/index.php?title=LPCUSB#USB_serial_port **) http://www.holger-klabunde.de/usb/18f2550.htm ***)http://www.freertos.org/portsam7xlwIP.html
und wie kann ich in der .inf-Datei dem Gerät einen Virtuellen (existierenden) COM-Port zuweisen? Hier mal die .inf-Datei im Anhang
Was jetzt, virtuell oder existierend? Die Einstellung, welche Schnittstellennummer die virtuelle Schnittstelle verpasst bekommt, die wird im Gerätemanager vorgenommen; sie fest in die *.inf-Datei zu schreiben wäre kontraproduktiv - was passiert auf einem PC, auf dem die betreffende Nummer bereits durch irgendwas anderes belegt ist?
Ok, ich habe mittels IrCOmm2k einen virtuellen COM-Port installiert. Nun möchte ich dem USB-IrDA Dongle diesen Port zuweisen. Wie geht das?
So gar nicht. Der USB-IrDA-Dongle ist keine serielle Schnittstelle und auch kein CDC-Device. Worauf greift denn IrComm2k zu? Verwendet das nicht die vorhandene Ir-Schnittstelle?
Das hat mir einfach einen Port installiert. Ich wüsste nicht worauf es zufreifen sollte. Dachte ich könnte das mit der VID_xxxx in der .inf-Datei einstellen
Moment mal. "Das hat mir einfach einen Port installiert. Ich wüsste nicht worauf es zufreifen sollte." IrComm2k ist ein Treiber, der virtuelle serielle Schnittstellen zur Verfügung stellt. Der Treiber setzt auf der der IrDA-Hardware und dem IrDA-Stack des Rechners auf. Was solltest Du da noch einstellen wollen? Ob "es" auch ohne IrComm2k ginge, hängt davon ab, was "es" ist und was Du überhaupt erreichen willst. Was für ein Gerät möchtest Du mit was für einer Software ansprechen?
Es handelt sich um einen USB-Infrarot Stick. Ich möchte per PocketPC etwas auf den Rechner schicken. Ich hab also auf dem PC eine Server-Software und auf dem PocketPC eine Client Software die mir etwas schickt.
Das reicht nicht als Beschreibung aus. Der auf beiden Geräten vorhandene IrDA-Stack ermöglicht eine Kommunikation des PCs mit dem PDA und umgekehrt, ohne daß IrComm oder virtuelle serielle Schnittstellen benutzt werden müssten.
Aha, und wie nutzt man den IrDA-Stack. Meines Wissens ist das das Betriebsgeheimnis von M$
Wer schreibt denn die Software, bzw. wer hat denn die Software geschrieben, die Du da nutzen willst?
1.: http://www.hh-system.com/danielstrigl/ 2.: hab ich selbst eins geschrieben (in JAVA) http://www.moritzschneider.net/downloads/ComProg.zip
Dein erster Link (http://www.hh-system.com/danielstrigl/irda.shtml) beschreibt doch ganz gut, wie vorzugehen ist; was aber lässt Dich zu IrComm2k greifen?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.