Forum: Mikrocontroller und Digitale Elektronik PIC32MZ2048EFH144 und UART / PPS


von L. R. (keyboard)


Lesenswert?

Hallo,

Möchte gerne in ein Projekt einen "PIC32MZ2048EFH144" einsetzen.

Leider komme ich mit den Pin für die UART's nicht klar.

Bevor ich das Layout dafür machen kann, muß die Zuordnung ja im 
Sourcecode
existieren für die 6 UART. Benötigt werden nur die RX und TX Pin.

Das ganze, so wie ich es verstehe, funktioniert über "PPS".

Im Datenblatt finde ich keine Default Zuordnung.

Für Unterstützung wäre ich sehr Dankbar.

vielen Dank im Voraus.

Gruß

von soso... (Gast)


Lesenswert?

Genau deinen PIC kenn ich nicht, aber PIC32 kenne ich.
Kuck in das Kapzitel 12.4 im Datenblatt. Das ist eigentlich nicht so 
schwierig.

Eingang:
Du musst dem Peripheral einen Pin zuordnen. Dazu beschreibt man das 
Register im Peripheral.

Beispiel:
U1RXR = 0b0110; //Pin RPB10 dem Peripheral UART 1 RX zuteilen

Ausgang:
Das ist genau umgekehrt. Du musst dem Pin ein Peripheral zuteilen:
Beispiel:
RPD10R = 0b0001; // Dem Pin RPD10 das Peripheral UART1 RX zuordnen

Du musst natürlich auch die TRIS und ANSEL entsprechend beschreiben.

Und große Vorsicht ist geboten: Nicht jedes Peripheral kann jedem Pin 
zugeordnet werden.
Bin da schon mal böse aufgesessen ;-)

von macload1 (Gast)


Lesenswert?

Ich kann dir da nur raten die MPLAB X IDE mit Harmony zuzulegen. In 
Harmony kannst du die Pinzuordnung festlegen und hast eine 
Dropdown-Liste, um die verschiedenen Möglichkeiten auszuwählen. Das ist 
die einfachste Möglichkeit herauszufinden was möglich ist.

von soso... (Gast)


Lesenswert?

macload1 schrieb:
> Ich kann dir da nur raten die MPLAB X IDE mit Harmony zuzulegen.

Das ist eine Geschmacksfrage.

Harmony hat halt den Nachteil, dass man sein Projekt an die Version 
einer IDE bindet. Es ist schwierig, daraus wieder ein 
stand-alone-Projekt zu machen, das alle Sourcen beinhaltet und auch mit 
späteren Versionen kompiliert werden kann.
Da bin ich schon mit der PCI32 Peripheral-Lib böste aufgesessen. Die 
wurde entfernt, und jetzt kann ich gewaltige Klimmzüge machen, um alte 
Projekte noch einmal ändern zu können.

Aus meiner Sicht lohnt sich das Binden an Harmony nicht, wenn man nur 
Dinge wie UART oder SPI verwendet, weil das recht schnell manuell 
implementiert ist. Das Peripheral Remapping ist eigentlich auch recht 
simpel.

Bei Dingen wie USB oder Ethernet sieht das selbstverständlich anders 
aus, da wird man nicht selber Hand anlegen wollen.

Aber die Geschmäcker sind verschieden, ich möchte die Verwendung von 
Harmony auf keinen Fall schlechtreden, sondern nur darauf hinweisen, 
dass man sich über Zukunftssicherheit ebenfalls Gedanken machen sollte.

Meine ganzen PIC24-Projekte (alles selber geschrieben) sind auch nach 5 
Jahren und X IDE- und Compilerversionen noch wunderbar funktionsfähig.

von macload1 (Gast)


Lesenswert?

Hallo soso...

Deine Bemerkungen zu Harmony kann ich voll und ganz nachvollziehen. Ich 
bin persönlich auch noch nicht 100 prozentig davon überzeugt und für 
kleinere Projekte benutze ich das Framework ganz sicher nicht.

Für die von  L. R. gestellte Frage finde ich das allerdings perfekt 
geeignet. Einfach ein leeres Projekt für den bestimmten PIC erstellen 
und die Pinzuordnung erstellen/herausfinden. Das geht innnerhalb von 
ungefähr 3 Minuten (vorausgesehen alles ist schon installiert) und man 
kann ziemlich sicher sein, dass man keine Probleme mit der Pinbelegung 
haben wird.

Danach kann er ja egal welche Bibliothek benutzen für den Code.

von L. R. (keyboard)


Lesenswert?

Hallo,

Vielen Dank für die Antworten.

Wird noch einiges an Arbeit kosten, bis ich einigermaßen mit diesem µC 
vertraut bin.
Gibt es in Buchform Literatur über MPLABX und dessen 32 Bit Compiler?

Der geplante Umstieg hat folgenden Hintergrund.
Bisweilen arbeite ich mit der PIC 32MX Family. Diese haben intern nur 
128 KB SRAM. Der PIX32MZ das Vierfache.

Ein bestehendes PIC32MX MPLAB Projekt in die MPLABX "importieren", hat 
bisweilen noch nicht funktioniert.

Gruß

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.