Forum: Mikrocontroller und Digitale Elektronik SPI an XMEGA geht MOSI nicht hi


von geordy (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
Hab ein XMEGA128A1U und möchte einfach einen DAC betreiben. CS kommt, 
SCLK kommt aber das MOSI will sich einfach nicht rühren.

Hab auch schon versucht das Pin einzeln auf high zu setzen, aber keine 
Chance. Alle anderen Pins, wo ich mir erlauben kann sie als Ausgang auf 
high zu setzen funktionieren. nur alle MOSI pins (auch unbenutzte an 
einem anderen Port) nicht.

Hat jemand eine Idee?

schon mal vielen Dank

von Peter D. (peda)


Lesenswert?

Vermutlich haben die Xmega die gleiche Fallgrube, wie die AVR:
/SS muß beim Master ein Output sein und zwar vor dem SPI-Init.

von geordy (Gast)


Lesenswert?

ja, ich weiß. Hab ich auch alles versucht. Selbst ganz ohne SPI 
Initialisierung und nur über die Initialisierung der Pins will er 
einfach nicht abheben.

von Alexxx (Gast)


Lesenswert?

Versuche im Debug-Modus NACH Reset VOR SPI-Init anzuhalten (wichtig).
Dann setze im Debugger im IO-Fenster diesen Portpin auf Ausgang und 
versuche mit
Port_x -> OUT -> Bit_y dieses Bit zu toggeln.
Messe nach, ob sich was tut.
Wenn nicht, hast du entweder den falschen Pin erwischt, oder du hast den 
Ausgangstreiber dieses Pins kaputt gemacht. Das geht leider ganz 
schnell.
(Zudem könntest du mit richtig gepoltem Ohmmeter messen, ob der Pin als 
Eingang eingestellt ist.)

Vergewissere dich im A1-Datenblatt unter Pinout and Pin Functions -> 
Alternate Pin Function Description und in der Anschlussbelegung dass du
wirklich den richtigen Pin erwischt hast.

PS: Du betreibst die SPI im Master-Modus?

von geordy (Gast)


Lesenswert?

Danke für die Hilfe.
Hab das Problem gefungen. Zwei kalte Lötstellen, die nicht auf den 
ersten Blick zu sehen waren und zwar Pin PC5 und PD5 an beiden SPI die 
ich getestet hab. Da ich immer am Pin des DAC gemessen hab ist mir das 
nicht aufgefallen.

von Alexxx (Gast)


Lesenswert?

Tja, sowas gehört zu den "beliebtesten" Fehlern - selbst bei Profis / 
alte Hasen.
Auch immer wieder mal beliebt: Funktionsprüfung/Messung & vergessen 
Betriebsspannung einzustecken ;-)

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.