Forum: Mikrocontroller und Digitale Elektronik PIC32 - Pin funktioniert nicht


von Rob (Gast)


Lesenswert?

Hallo,

ich sitze gerade vor einem PIC32MX470 und komme einfach nicht weiter, da 
der RA0-Pin nicht tut was er soll, bzw. was ich erwarten würde. Ich 
möchte ihn als einfachen digitalen Ausgang nutzen. Das entsprechende 
TRSIA0-Bit ist auf 0 gesetzt. Das ANESLA-Register benötige ich nicht, da 
der Pin immer digital ist. Aber egal ob ich LATA0 bzw. RA0 auf 1 oder 0 
setze, messe ich immer ca. 2,1 Volt an diesem Pin. Auf meinem Board habe 
ich alles auf Kurzschlüsse überprüft und keine gefunden. Es handelt sich 
auch um keinen "reprogrammable Pin". Laut Datenblatt sind die einzigen 
zusätzlichen Funktionen TMS (JTAG) und CTED1 (Charge Time Measurement 
Unit), die ich aber beide nicht nutze. Andere PORTA-Pins lassen sich wie 
erwartet ansprechen. Meint ihr, dass der PIC dann einfach nur defekt 
ist, oder übersehe ich irgendwas in der Programmierung. Vielleicht hatte 
ja mal jemand ein ähnliches Problem und kann mir weiterhelfen.

Vielen Dank schonmal!!!

von Dirk W. (Gast)


Lesenswert?

Rob schrieb:
> Das ANESLA-Register benötige ich nicht

Hast Du es denn verändert? Standardmäßig steht es auf 0xFFFF, d.h. die 
RAx Pins sind analoge Eingänge. Willst Du also RA0 als digitalen 
Ein-/Ausgang nutzen, musst Du Bit 0 von ANSELA löschen.

von Dirk W. (Gast)


Lesenswert?

Noch ein Hinweis: Hast Du JTAG in den Configbits abgeschaltet (Default: 
ON)?

von Rob (Gast)


Lesenswert?

Hallo Dirk,

Danke für deine Tipps.. Das ANSELA-Register habe ich komplett auf 0 
gesetzt. Andere RA-Pins funktionieren ja auch normal. Ich dachte auch, 
dass ich JTAG in den Configuration-Bits deaktiviert habe, habe jetzt 
aber festgestellt, dass diese Einstellung anscheinend nicht übernommen 
wird. Ich stelle es auf Off und programmiere anschließend, sobald ich 
aber wieder in die Configuration-Bits gehe, sehe ich, dass JTAG wieder 
auf On gestellt ist. Ist das normal oder muss ich beim Programmieren 
noch etwas zusätzlich beachten?

von Chris B. (dekatz)


Lesenswert?

Rob schrieb:
> Hallo Dirk,
>
> Ich stelle es auf Off und programmiere anschließend, sobald ich
> aber wieder in die Configuration-Bits gehe, sehe ich, dass JTAG wieder
> auf On gestellt ist.

???
Wo stellst du es auf OFF? Im MPLABX?
Wenn Ja, dann ist das zu wenig.
Du musst die CONFIG-Einstellung aus MPLABX in deine Source einfügen - 
mit dem Button <Generate Source Code to Output> komplette Configuration 
erzeugen und mit Copy&Paste in den Source übernehmen.

Falls es im Source dann noch immer nicht funkteoniert, dann ist 
eventuell bei den Optionen vom Programmer (PICKIT3 ? ICD3 ?) etwas 
verstellt.
<Auto select memory and ranges> sollte auf <Allow PicKit3 to Select 
Memorys> stehen (gleiches gilt auch für ICD3).

von Rob (Gast)


Lesenswert?

Ja, hatte es nur im MPLAB umgestellt.. habe jetzt aber den 
entsprechenden #pragma-Befehl in meinem Source-Code und es 
funktioniert.. vielen Dank euch beiden!:)

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.