Forum: Compiler & IDEs ATMega16 & AD8400 SPI


von N. B. (blackstripes)


Angehängte Dateien:

Lesenswert?

Ich habe folgendes Problem: Mein digitales Poti soll nachdem ich eine 
Taste gedrückt habe in Mittelstellung gehen.
Ich kann am Oszilloskop sehen das die Pins wackeln wenn die SPI 
Kommunikation stattfindet. Aber das Poti-Ausgangsspannung bleibt 
dauerhaft bei 0V. Ich habe an PINA vom Poti 5V anliegen, PINB GND und an 
PINW einen 1k2 Widerstand zu GND.
Vllt kann mir jemand sagen was ich falsch mache! Achso VCC ist 5V!

Lg

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


Lesenswert?

Der AD8400 hat ein 10-bit-SPI-Interface.  Die Hardware-SPI der AVRs
unterstützt aber nur Vielfache von 8 bit.  An der Stelle, da du
glaubst, nur die Adresse zu senden, stellst du in Wirklichkeit
bereits das Poti ein.

Bau dir mal eine Software-SPI, die wirklich 10 bit sendet.

von N. B. (blackstripes)


Lesenswert?

Ich dachte er nimmt nur die letzeen 10 bit die ich sende, bzw bevor ich 
CS LOW setze!

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


Lesenswert?

N. B. schrieb:
> Ich dachte er nimmt nur die letzeen 10 bit die ich sende, bzw bevor ich
> CS LOW setze!

Tja, kann sein, muss nicht.  Ich würde mich nicht auf mehr als das
verlassen, was im Datenblatt geschrieben steht.  Wenn dort das
Verhalten nur dafür spezifiziert ist, dass man genau 10 bit
rausschiebt, dann sollte man eben auch genau dies tun.

von N. B. (blackstripes)


Lesenswert?

Ok dann schreibe ich morgen einen 10bit SPI und werde dir dann sagen ob 
es geht!!!

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.