Jump to content

USB PIC18F2550 sourcecode


pico
 Share

Recommended Posts

Hallo Leute,

ich hab auf ucapps.org das PIC USB Module entdeckt. Ich hab auch die Probleme mit diesem

uC zur Kenntniss genommen. Aber so weit ich das verstanden habe funktioniert die reine USB

kommunikation. Genau das würde mir schon reichen.

Ich möchte mir eine Remote-Controller ala UC-33 bauen.Allerdings ohne Midischnittstelle für externe

Geräte sondern nur für den Rechner.

Ich haben mir den Quellcode von Roberl Lang (MIDI NATOR) runtergeladen und ihn für den CCS-Compiler

umgeschrieben. Aber....es funktioniert nicht.

Deswegen würde ich gerne eine zweiten Quellcode (kann auch in Assembler sein) als Referenz haben.

Leider konnte ich den PIC USB Module code nicht finden. Ich bin leide auf solche Quellen angewiesen, da ich Neuling

in der USBgeschicht bin.

Ich würde mich freuen wenn mir da jemand weiterhelfen könnte.

MfG

Pico

Link to comment
Share on other sites

Hallo,

nachdem ich auf das leidige EUSART Problem gestossen bin, habe ich die Weiterentwicklung der Firmware nicht mehr weiterverfolgt. Der Code befindet sich also in einem ziemlich wuesten Status - im Wesentlichen setzt er auf das CDC Beispiel auf, welches sich nur mit dem C18 kompilieren laesst (bin zunaechst davon ausgegangen, dass ich das Limit von drei Monaten locker einhalten kann, im Endeffekt haette das Modul nach einem Tag laufen koennen...).

Ausserdem enthaelt er den MIDI Parser aus dem urspruenglichen MBHP_USB Projekt

Ich koennte Dir die Files zuschicken, doch ich weiss nicht, was daran noch funktioniert, und was "kaputtgedebuged" wurde (zunaechst bin ich von einem Problem mit den Interrupts ausgegangen...)

Gruss,

        Thorsten.

Link to comment
Share on other sites

Moin Moin,

Ich glaub ich habe mein Problem gefunden aber noch keine Lösung.

Und zwar arbeite ich ja mit dem CCS Compiler.Der im großen und ganzen ziemlich okey ist.

Aber ich schaffe es nicht eine POINTER auf den USB RAM zulegen(ab 0x400)

Zum Beispiel :

    char bd0statoe@0x400; // ENDPOINT O OUT BDT[0]

geht bei CCS gar nicht erst.

Also habe ich mir gedacht ich reserviere mir die RAM Adresse mit

    #RESERVE 0x400

    char bd0statoe; // ENDPOINT O OUT BDT[0]

und dann habe ich im sym-file gesehen wo er diese Variable hinlegt:

  018    bd0statoe          //  Variable liegt im Ram 0x018

Ich bin mir nicht mal sicher ob er den BufferDescriptorEntry an die Adresse 0x400 legt. Ich glaube nicht.

  struct BufferDescriptorEntry * BDT= (struct BufferDescriptorEntry *)0x400;

Hat jemand vielleicht eine Workaround für den CCS Compiler und USB??? Schließlich vertreibt die Firma ja ein

CCS USB Developmentboard für teuer geld.

PS: TK, danke für den feedback und ja es währe nett wenn du mir deinen Sourcecode zum PIC USB Modul zusenden

      könntest.

Danke im voraus

MfG Pico

Link to comment
Share on other sites

Hallo Pico,

ich habe mit dem CCS noch nicht gearbeitet, evtl. musst Du der Variable ein spezielles Attribut mitgeben, damit sie nicht in das "unbanked" Memory (<0x80) abgelegt wird? Oder Du weist der Variablen einer bestimmten Sektion zu (deren Namen du frei waehlst), und lokatierst diese an die gewuenschte Addresse (gibt es ein Locator-File?)

Im Zweifelsfall sollte der direkte Memoryzugriff wie folgt funktionieren:

(*((volatile unsigned int *)(0x400))) = 0x12; // schreibt 0x12 nach 0x400

Ich mache mir daraus immer ein Macro:

#define MEM(register) (*((volatile unsigned int *)(register)))

so dass ein direkter Speicherzugriff wie folgt funktioniert:

MEM(0x400) = 0x12;

CCS und USB: gehe mal nach forum.microchip.com, klicke auf "search", tippe "ccs usb" und waehle (das ist der Trick!) "Time filter: All Topics" an

Gruss,

        Thorsten.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...