Gast
#1452381
Hallo Leute,
ich habe ein kleines Problem mit der Bedienung einer SPI-Schnittstelle.
Ich haben einen A/D-Wandler an einen XC167CI angeschlossen, und will von
diesem nun die Werte auslesen. Hier erst mal das Datenblatt des
ICs(serielle Schnittstell: S. 28ff):
www.analog.com/static/imported-files/data_sheets/AD2S1210.pdf
Mein Problem besteht nun darin, dass der A/D-Wandler ja insgesamt 3 Byte
an den XC167 schicken will. Dafür braucht er aber die ganze Zeit den
Takt des Masters, und der wird doch nur erzeugt, wenn der Master auch
was sendet, oder lieg ich da falsch?
Bis jetzt hab ich folgenden Code:
SSC0_BR = 0x0013;
SSC0_CON = 0x4078;
SSC0_CON |= 0x8000; //einschalten
while(1)
{
P3_P7 = 0; //Sample low
P3_P7 = 1; //Sample high
P3_P6 = 0; //WR low
SSC0_TB = 0xFF; //irgendwas schicken
while(!SSC0_CON_BSY); //warten bis "busy" erkannt wurde
while(SSC0_CON_BSY); //warten bis "busy" vorbei
P3_P6 = 1; //WR high
}
Das funktioniert soweit auch ganz gut, nur dass der A/D-Wandler leider
immer nur das erste Byte schickt.
Hat jemand vielleicht eine Idee??
Viele Grüße
Michael