Hallo, Ich habe mir ein PIC32 USB Starter Kit II gekauft um mich mit den USB-Funktionen des PIC32 bekannt zu machen. Die Beispielprogramme funktionieren tadellos, also programmierte ich ein einfaches Programm, welches erkennt ob ein Gerät(z.b. USB Stick) eingesteckt wird erkannt und zunächst ein einfach "Hallo Welt" in den Stick geschrieben. Doch der Stick wurde erst gar nicht angesprochen. Ich dachte zuerst an ein Programmierfehler doch dann... dann stellte ich folgendes fest: 1. Das Beispielprogramm funktioniert Tadellos 2. Ich erstelle ein neues Projekt mit MpLab 3. Ich füge die (alle) Dateien des Beispiels in mein Projekt mit MpLab ein 4. Das Projekt unterscheidet sich nun vom Beispielprojekt nicht 5. Der einzige UNterschied ist, dass die Projektdatei *.mcp von mir mit dem Projekt-Wizard angelegt wurde. Meine Annahme ist, dass ich irgendeine Einstellung im MpLab tätigen muss, um USB-Funktionen zu aktivieren!? Der Compiler bringt mir keine Fehlermeldung und selbstprogrammierte kleine Testprogramme wie LED blinken lassen funktionieren. Warum also USB-Programme nicht, wenn ich ein eigenes Projekt mit den Programm-Dateien der Beispielprojekte erstelle? Programmierfehler sind also auszuschließen.
Man benötigt eine Heapsize von 8192 (Byte?), dies gibt man unter 'Project -> Build Options->Project' an.
> zunächst ein einfach "Hallo Welt" in den Stick geschrieben
???
auch sonst habe ich null schnall, was du machtest noch was du willst,
geschweige denn, wo deine konkreten probleme liegen.
ich schlage dir vor, dass du ein lauffähiges beispielprojekt abänderst
anstelle ein neues projekt zu erstellen ;-)
Hi! Vergleiche mal ALLE Einstellungen. Dazu gibt es mehrere Möglichkeiten: - Zweimal MPLAP öffnen(falls möglich). Dann die Einstellungen des Projekts nebeneinander aufmachen und vergleichen. - Falls die MCP menschenlesbar ist, diese öffnen und vergleichen. - ... Gruß PP
in den "Build Options" bist du schon richtig. Vergleich mal unter der Redisterkarte "Directories" die Einstellungen für "Include Seach Path" und "Library Search Path" mit dem Beispielprojekt.
Danke für die Tipps - und in der Tat, ich habe etwas durcheinander geschrieben... Tut mir leid, war schon etwas spät. Für alle die es noch interessiert: Ich wollte lediglich eine Datei mit dem Inhalt "Hallo Welt" auf einen Usb-Stick erzeugen. Nun habe ich folgendes herausgefunden: Es ist eine Heapsize (siehe oben) von 8192 byte erforderlich. Fehlermeldungen gibt es keine, sollte man es vergessen - oder schlichtweg nicht wissen. Zudem fragte ich das Usb-Event "EVENT_VBUS_REQUEST_POWER" ab, um zu prüfen ob ein USB-Gerät Strom anfragt, indirekt heisst das, dass ein Usb-Gerät angeschlossen wurde. Was nach der bescheibung in der Datei "usb_common.h" auch so sein muss, da es kein einfaches "EVENT_ATTACH" -Event gibt. Doch hier liegt ein wenig der Wurm drin, denn bei der erstmaligen Abfrage des USB-Events ist der Status IMMER "EVENT_VBUS_REQUEST_POWER", also wird selbst dann ein "EVENT_VBUS_REQUEST_POWER"-Event ausgelöst, wenn anfangs gar kein USB-Stick angeschlossen ist. Ebenso beim herausziehen wird zuerst richtigerweise ein "EVENT_VBUS_RELEASE_POWER"-Event ausgelöst, alsdann aber sogleich wieder ein "EVENT_VBUS_REQUEST_POWER". Wenn jetzt ein USB-Gerät angeschlossen und tatsächlich nun Strom "angefragt" wird dann tritt abermals (nun aber korrekterweise) das "EVENT_VBUS_REQUEST_POWER"-Ereignis auf. Also Grundsätzlich betrachte ich das Topic nun als gelöst, aber vielleicht kennt sich hier jemand schon weit besser in der Materie aus als ich und kann mir bzw. den Forenlesern dieses Verhalten erklären?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.