Forum: Mikrocontroller und Digitale Elektronik SPI Pinbelegung ändern?


von Paul S. (pablo)


Lesenswert?

Hallo!

Ist es möglich die Pinbelegung von MOSI MISO und SCK zu ändern?
Ich verwende einen ATmega168 und programmiere mit CodeVisionAVR. 
MOSI,MISO,SCK liegen auf PORTB. Ich bräuchte sie aber auf PORTC damit 
ich die TIMER1 Ausgänge nutzen kann.

Oder ist SPI fix mit den PINs auf PORTB verbunden?!

mfg, Paul

von Stefan P. (form)


Lesenswert?

Die Hardware-SPI Pins (z.B. für ISP-Programmierung) sind fix.
Wenn Du irgendwas per SPI ansteuern willst, bleibt noch die möglichkeit 
das per Software auf beliebig anderen Pins zu machen.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Paul S. schrieb:

> Oder ist SPI fix mit den PINs auf PORTB verbunden?!

Ja, ist es.

MOSI, MISO und SCK kollidieren aber gar nicht mit dem Timer 1, sondern
nur mit Timer 2 (MOSI ist alternativ OC2A).  OC1B ist zwar auch /SS,
aber wenn du den SPI-Block im Master-Modus benutzen willst, ist die
einzige Bedingung, dass /SS ein Ausgang sein muss, das wäre mit OC1B
aber gegeben.  Das Selektieren des SPI-Slaves kannst du auch über
einen beliebigen anderen Pin machen.

Falls du das SPI im Slave-Modus betreiben willst, steht dier OC1B
jedoch in der Tat nicht zur Verfügung.

von Paul S. (pablo)


Lesenswert?

Danke für die schnelle Antwort!!!

Dann werde ich mich jetzt mit Software SPI auseinandersetzten!

von Paul S. (pablo)


Lesenswert?

@ Jörg Wunsch:

Danke auch für die schnelle Antwort!

Ich betreibe das SPI im slave Modus und brauche auch die TIMER2 
Ausgänge!

Mit Software SPI wird das schon funktionieren! Hoffentlich!

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.