SPI ausschalten PIC18

Gast #5567489
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
Gast #5567638
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.
Gast #5567666
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.
Gast #5567671
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

Antwort schreiben

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.

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.