mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik SPI ausschalten PIC18


Autor: Bernd (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Volker S. (vloki)
Datum:

Bewertung
0 lesenswert
nicht 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
Autor: Bernd (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: A. S. (achs)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Bernd (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.