Forum: Mikrocontroller und Digitale Elektronik SPI ausschalten PIC18


von Bernd (Gast)


Lesenswert?

Hallo Community,

ich bin professioneller C Entwickler bei einer kleinen Firma und habe 
das Problem, dass ich jetzt mit PICs arbeiten muss:)
Ich verwende einen PIC18LF26K40 und möchte das SPI nachdem ich es 
benutzt habe wieder als IO verwenden.
Das SPI funktioniert auch gut, aber wenn es mit
SSP1CON1bits.SSPEN = 0;
wieder ausgeschaltet werden soll gehen danach die Pins nicht mehr als 
IO, auch wenn ich die TRIS Register richtig setzte.
Kennt jemand das Problem?
Vielen Dank,
Bernd

von Volker S. (vloki)


Lesenswert?

Bedeutet "wieder verwenden", dass die Pins vor der Verwendung als SPI 
als I/O verwendet werden und da wie erwartet funktioniert haben?
Eingänge oder Ausgänge? Analogfunktion (falls Eingänge) deaktiviert?

: Bearbeitet durch User
von Bernd (Gast)


Lesenswert?

So ungefähr.
Also die Pins werden manchmal als SPI verwendet, aber wenn sich die 
Schaltung schlafen legt werden von dem Chip die Eingänge hochohmig, 
sodass ich denen ein festes Potential geben muss. Dazu will ich die MISO 
Leitung als Ausgang schalten und Low activ anlegen.
Deswegen muss immer hin und her gewechselt werden in der Funktion der 
Pins.
Und momentan ist es so, dass ich das SPI an mache, funktioniert auch, 
dann aber nach dem ausmachen vom SPI kann ich den Pin nicht mehr als 
Output verwenden.

von A. S. (Gast)


Lesenswert?

Bernd schrieb:
> Und momentan ist es so, dass ich das SPI an mache, funktioniert auch,
> dann aber nach dem ausmachen vom SPI kann ich den Pin nicht mehr als
> Output verwenden.

Die Frage war ja eine andere:

Volker S. schrieb:
> Bedeutet "wieder verwenden", dass die Pins vor der Verwendung als SPI
> als I/O verwendet werden und da wie erwartet funktioniert haben?

Versuche also, ob sie ohne SPI einschalten funktionieren. Falls ja, dann 
schaue nach, welche Register Du alle für SPI einschaltest und welche Du 
entsprechend zurückschalten musst.

Ich bin jetzt zu faul, bei Deinem Typen zu schauen, aber es gab früher 
manchmal Wechselwirkungen, mit anderen Funktionalitäten, z.B. ADC.

von Bernd (Gast)


Lesenswert?

Ach ich habs gefunden.
Es lag daran, dass beim SPI initen die PPS Register gesetzt werden, 
sodass intern die Pins auf das SPI gemappt werden. Das bleibt auch so, 
wenn man das SPI aus macht. Wenn man die PPS Register nullt gehts.
Trotzdem danke für die Hilfe:)
Bernd

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.