www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik MPLab - nur für eingeweihte? USB und PIC32


Autor: Svenny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Svenny (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Man benötigt eine Heapsize von 8192 (Byte?), dies gibt man unter
'Project -> Build Options->Project'
an.

Autor: Master Snowman (snowman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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 ;-)

Autor: Paulchen Panther (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: heinzhorst (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Svenny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.