Xmega USB CDC Library C

Gast #7103149
Lesenswert?
• ▲
▼
Hallo zusammen.

Da ich nichts direkt lauffähigs, oder nur sehr umfangreiche und komplexe 
Codesammlungen für Xmega USB gefunden habe, habe ich mithilfe vom Atmel 
ASF eine "eigene" Lib entwickelt. Im groben ist es die ASF Lib aber aus 
dem ASF Projekt raus gezogen und deutlich entstrafft. Zudem noch ein 
paar Zusatzfunktionen hinzugefügt zum senden von Strings oder ItoA. Das 
ASF war so dermaßen unübersichtlich, das geht jetzt hier deutlich 
entspannter. Man kann die ganzen Libs einfach dem Projekt hinzufügen und 
starten.

Es ist schon ein fertiges Projekt für den Xmega32A4U dabei damit man 
direkt sieht was passiert. Er sendet im Sekundentakt einen String und 
wenn man ein Ascii sendet bekommt man eine Antwort die das gesendete 
Byte enthält.

Ich hoffe es bringt einiges was und kann verwendet werden.

Ich habe es leider nicht sehr klein bekommen (nur vom ASF ~12kb auf 
7,5kb). Das heißt für einen CDC Bootloader wirds nicht reichen (leider). 
Aber bei größeren Chips oder zur reinen Kommunikation dennoch gut 
nutzbar.
Angehängte Dateien:
Gast #7103180
Lesenswert?
• ▲
▼
Weiß jmd. ob man bei dem Treiber einen Seriennummer-Prefix angeben kann?

Bei den FTDI Chips gab es immer eine "auto generated serial number" oder 
mit Prefix. Mit der VB Software habe ich dann nach dem Hersteller 
gesucht und dieser Prefix (bspw. PR) und damit das Gerät identifizieren 
können.

Ich finde zwar auch als Serielles USB Gerät nun den Xmega auch mit der 
VID und PID von Atmel aber wenn ich davon mehrere am USB habe kann ich 
die nicht identifizieren. ?!
Gast #7103186
Lesenswert?
• ▲
▼
Gefunden. Man kann in der conf_usb.h wo man auch die Manufacture Name 
etc setzt (ebenso wie Bus/self powered und Stromverbrauch) die 
auskommentierte Zeile "USB_DEVICE_SERIAL_NAME" hinzufügen. Wenn man dann 
bspw. mit WMI und VB ausließt steht genau das am Ende. Perfekt.!
Gast #7104167
Lesenswert?
• ▲
▼
Tuffi schrieb:
> Man kann die ganzen Libs einfach dem Projekt hinzufügen und
> starten.

Und wenn man ein ganz anderes Projekt sich vorgenommen hat, was dann?
Du hast eine über 200K große .rar Datei beigefügt. Was von dem Inhalt 
gehört nun zu deinem Treiber und was nicht? Wo ist eine Beschreibung, 
wie man die einsetzt?

W.S.
Gast #7104986
Lesenswert?
• ▲
▼
W.S. schrieb:
> Tuffi schrieb:
>> Man kann die ganzen Libs einfach dem Projekt hinzufügen und
>> starten.
>
> Und wenn man ein ganz anderes Projekt sich vorgenommen hat, was dann?
> Du hast eine über 200K große .rar Datei beigefügt. Was von dem Inhalt
> gehört nun zu deinem Treiber und was nicht? Wo ist eine Beschreibung,
> wie man die einsetzt?
>
> W.S.

Guter Einwand. Zum Treiber gehört alles außer die main.c im Ordner 
UsbTestXmega. Alle anderen .h und .c Dateien die im ordner liegen sind 
vom Treiber. Mit dem Projekt macht es aber Sinn, um die init zu sehen 
und die Benutzung. Die .h und .c vom Treiber kann man bel. in Projekte 
einbinden.

Man muss wenn man den Treiber nutzen möchte, die ganzen .h und .c (halt 
außer die main.c ist klar) über das Atmel Studio hinzufügen mit dem 
Rechtsklick aufs Projekt und dann Add Existing Item. Das ist wichtig, 
sonst passen die Zuordnungen nicht mehr. Im projekt selber (siehe 
Beispiel) braucht man dann kein Include mehr machen von irgendwelchen .c 
oder .h.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.