pico Posted November 21, 2005 Report Share Posted November 21, 2005 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.MfGPico Quote Link to comment Share on other sites More sharing options...
TK. Posted November 21, 2005 Report Share Posted November 21, 2005 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 ProjektIch 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. Quote Link to comment Share on other sites More sharing options...
pico Posted November 27, 2005 Author Report Share Posted November 27, 2005 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 0x018Ich 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 einCCS 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 vorausMfG Pico Quote Link to comment Share on other sites More sharing options...
TK. Posted November 28, 2005 Report Share Posted November 28, 2005 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 0x400Ich 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" anGruss, Thorsten. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.