PIC32 - Pin funktioniert nicht

Gast #3858728
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!!!
Gast #3858761
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.
Gast #3859437
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?
#3859455
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).
Gast #3859461
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!:)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 12 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.