Forum: Mikrocontroller und Digitale Elektronik LPC1549 USB Virtual COM-Port


von Doran S. (utzer)


Angehängte Dateien:

Lesenswert?

Hallo,

ich bin gerade dabei, mir einen USB-Treiber für den LPC1549 basierend 
auf dem Treiber von W.S. 
(Beitrag "Re: STM32F4 USB CDC") zu 
schreiben.

Es klemmt noch an einer/zwei Kleinigkeiten:
Wie im Anhang "LPC1549_EP0_OUT.png" und "LPC1549_EP0_IN.png" (Ausschnitt 
aus dem Datenblatt) zu sehen ist, muss man dort unterscheiden, ob eine 
"IN data phase" bzw. eine "OUT data phase" momentan abläuft. Dabei frage 
ich mich, welches Bit aus welchem Register ich dazu auswerten kann? Hat 
da jemand einen Tipp für mich?

Viele Grüße,
Doran

von Stefan F. (Gast)


Lesenswert?

Ich bin mit dem Chip nicht vertraut. Ein kurzer Block in das User Manual 
sagt mir jedoch, dass das INTSTAT Register für IN und OUT separate Flags 
enthält.

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

Keiner portiert oder arbeitet mit meinem USB-Code ?

von Thomas (Gast)


Lesenswert?

Um es kurz zu machen für std request gibt es keine Out DataStage weil 
kein SetRequest definiert ist der eine wlength !=0 hat.
Bei Class Request ist das ev anders.

Thomas

von Stefan F. (Gast)


Lesenswert?

Niklas G. schrieb:
> Keiner portiert oder arbeitet mit meinem USB-Code ?

Ich denke, dass in deinem Fall C++ ein Knackpunkt ist. Das nutzen nur 
wenige Leute gerne auf Mikrocontrollern. Dennoch hilft dein Tutorial und 
Code dabei, die Sache zu verstehen. Und ich denke, das war doch dein 
haupt-Ziel, oder?

Ich nutze deinen Code sehr gerne unverändert als 3-Fach USB-UART Adapter 
mit Blue-Pill Boards. Billiger und unkomplizierter kommt man da sonst 
nicht ran.

von W.S. (Gast)


Lesenswert?

Doran S. schrieb:
> USB-Treiber für den LPC1549

Guck lieber mal da:

https://www.mikrocontroller.net/attachment/405187/Gesammelte_USBs.zip

Dort sind die Versionen für LPC1343 und LPC1751 drin, beide von 2013. 
Außerdem für LPC2478 (ARM7TDMI), der im Prinzip auch für den LPC4088 
geht, wenn man das INAK_BI softwaremäßig erledigt.

Guck im RefManual einfach mal nach, ob beim LPC1549 der gleiche USB-Core 
verwendet wird wie bei den o.g. Typen.

Bei neueren Typen wie LPC11Uxx haben sie den USB-Core geändert, hab hier 
ein paar LPC11U35 und LPC11U67 herumfliegen, aber noch keine Zeit 
gehabt, dafür den Treiber anzupassen. In den Dingern ist auch einiges an 
USB-Firmware im Bootrom drin, aber soweit ich das im Manual gelesen 
habe, ist dessen Benutzung ziemlich krötig.

W.S.

von Doran S. (Gast)


Lesenswert?

Hallo,

Danke für die Ratschläge und Danke auch an W.S. für die weiteren 
Code-Beispiele.

Werde mir diese Beispiele anschauen und mich weiter in USB einarbeiten. 
Melde mich wieder, wenn ich weiter komme.

Viele Grüße,
Doran

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.