Forum: Mikrocontroller und Digitale Elektronik xmega per usb an 2 com ports anmelden


von Martin (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

ich habe einen ATxmega16A4U per USB mit der ASF Library als 
Communication Class Device (CDC) zum laufen bekommen.
Nun möchte ich (was eigentlich vorgesehen ist) zwei virtuelle COM 
Schnittstellen anbieten statt einer.

Ich dachte mir dann ändere ich einfach das define
1
//! Number of communication port used (1 to 3)
2
#define  UDI_CDC_PORT_NB 1
von 1 zu 2.

Die entsprechenden Funktionen zum Schreiben und Lesen ersetze ich dann 
auch.
Wenn ich den xmega nun an den PC anschließe, bekomme ich einen blue 
screen.

Deinstalliere ich vorher den Treiber, kommt kein blue screen und der 
xmega meldet sich als zwei neue Geräte an.
Das Problem ist, dass ich hier aber keinen Treiber für die Geräte habe 
(die normale .inf wird nicht akzeptiert.

Weiß jemand, wie ich diese Problem lösen könnte?

Das Projekt habe ich angehängt. Es wurden fast nur ASF Bibliotheken 
verwendet, sodass es mit jedem USB Fähigen xmega laufen sollte.

Ich danke schonmal im Voraus!
Gruß, Martin

von Martin (Gast)


Lesenswert?

Muss vielleicht die .inf angepasst werden?

von Jim M. (turboj)


Lesenswert?

Martin schrieb:
> Muss vielleicht die .inf angepasst werden?

Natürlich, denn USB CDC geht mit mehreren Ports AFAIK nur als Composite 
Device. Dabei ändern sich die USB IDs, die man im .inf angeben muss.

Schau Dir mal mit einem USB-Debug Tool oder lsusb unter Linux die 
Deskriptoren genau an.

von Martin (Gast)


Lesenswert?

Jop, hast recht.

Da ich ne vorgefertigte .inf hatte, die ne ganze Menge Fälle abdeckt, 
hats gereicht die PID zu wechseln.
Um genau zu sein (falls es jemand mal braucht) von USB_PID_ATMEL_ASF_CDC 
zu USB_PID_ATMEL_ASF_TWO_CDC.

Wenn man sich die .inf genauer anschaut, wird auch klar wieso... Aber da 
muss man erstmal drauf kommen.

Gruß, Martin

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.